1

I wish to r=read a xsd file available in registry in my WSDL (this is also in registry)

<xsd:schema targetNamespace="http://www.example.org/SearchMember/">
        <xsd:import namespace="http://www.memsrch.com/req"
            schemaLocation="**./MemberSearchReq.xsd**" />
        <xsd:import namespace="http://www.memsrch.com/resp"
            schemaLocation="**./MemberSearchRep.xsd**" />
    </xsd:schema>

This is erroring as shown below

Caused by: javax.wsdl.WSDLException: WSDLException (at /wsdl:definitions/wsdl:types/xsd:schema): faultCode=PARSER_ERROR: Problem parsing './MemberSearchRep.xsd'.: java.io.FileNotFoundException: C:\wso2esb-4.0.3\wso2esb-4.0.3\MemberSearchRep.xsd (The system cannot find the file specified) at com.ibm.wsdl.xml.WSDLReaderImpl.getDocument(WSDLReaderImpl.java:2166) at com.ibm.wsdl.xml.WSDLReaderImpl.parseSchema(WSDLReaderImpl.java:845) at com.ibm.wsdl.xml.WSDLReaderImpl.parseSchema(WSDLReaderImpl.java:669) at com.ibm.wsdl.xml.WSDLReaderImpl.parseTypes(WSDLReaderImpl.java:630) at com.ibm.wsdl.xml.WSDLReaderImpl.parseDefinitions(WSDLReaderImpl.java:342) at com.ibm.wsdl.xml.WSDLReaderImpl.readWSDL(WSDLReaderImpl.java:2320) at com.ibm.wsdl.xml.WSDLReaderImpl.readWSDL(WSDLReaderImpl.java:2284) at com.ibm.wsdl.xml.WSDLReaderImpl.readWSDL(WSDLReaderImpl.java:2337) at com.ibm.wsdl.xml.WSDLReaderImpl.readWSDL(WSDLReaderImpl.java:2358) at com.ibm.wsdl.xml.WSDLReaderImpl.readWSDL(WSDLReaderImpl.java:2390) at org.apache.axis2.description.WSDL11ToAxisServiceBuilder.readInTheWSDLFile(WSDL11ToAxisServiceBuilder.java:2318) at org.apache.axis2.description.WSDL11ToAxisServiceBuilder.setup(WSDL11ToAxisServiceBuilder.java:922) at org.apache.axis2.description.WSDL11ToAxisServiceBuilder.populateService(WSDL11ToAxisServiceBuilder.java:309) ... 22 more Caused by: java.io.FileNotFoundException: C:\wso2esb-4.0.3\wso2esb-4.0.3\MemberSearchRep.xsd (The system cannot find the file specified) at java.io.FileInputStream.open(Native Method) at java.io.FileInputStream.(FileInputStream.java:120) at java.io.FileInputStream.(FileInputStream.java:79) at sun.net.www.protocol.file.FileURLConnection.connect(FileURLConnection.java:70) at sun.net.www.protocol.file.FileURLConnection.getInputStream(FileURLConnection.java:161) at org.apache.xerces.impl.XMLEntityManager.setupCurrentEntity(Unknown Source) at org.apache.xerces.impl.XMLVersionDetector.determineDocVersion(Unknown Source) at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source) at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source) at org.apache.xerces.parsers.XMLParser.parse(Unknown Source) at org.apache.xerces.parsers.DOMParser.parse(Unknown Source) at org.apache.xerces.jaxp.DocumentBuilderImpl.parse(Unknown Source) at com.ibm.wsdl.xml.WSDLReaderImpl.getDocument(WSDLReaderImpl.java:2156) ... 34 more

4

2 回答 2

1

I'm not sure if you solved this, if not please refer to this blog post how to setup wsdl's in the registry that import XSD's: http://madhukaudantha.blogspot.nl/2012/07/wso2-esb-proxy-from-registry.html.

Regards, nidkil

于 2012-07-16T06:48:32.823 回答
0

Try removing the "./" and make sure the XSD is in the same resource collection in the registry as the WSDL. The name of the resource should be the same as the name used in schemaLocation.

One note of caution, ensure you do not nest XSD's as this is currently not supported by the registry.

Regard, nidkil

于 2012-06-29T01:58:52.593 回答