[ https://issues.apache.org/jira/browse/AXIS2-4353?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12796208#action_12796208 ]
Ben Reif commented on AXIS2-4353: --------------------------------- We don't generate any client side stubs for our Web Service calls. We dynamically create the SOAP request at runtime using the WSDL, JAXB and the ServiceClient. Anyway, isn't that the whole point of the ServiceClient and having constructors that take in the WSDL Definition or the WSDL URL, so that Axis2 can handle those kinds of details for you? I guess I'd argue that this is a pretty common scenario and that you shouldn't really have to create your own resolver and set it in the first place, but I also think that this is really an issue with the org.apache.ws.commons.schema.resolver.DefaultURIResolver class. > ServiceClient can not resolve WSDL with imported schemas > -------------------------------------------------------- > > Key: AXIS2-4353 > URL: https://issues.apache.org/jira/browse/AXIS2-4353 > Project: Axis2 > Issue Type: Bug > Components: client-api > Affects Versions: 1.4.1, 1.4 > Environment: all > Reporter: Ben Reif > Assignee: Andreas Veithen > Priority: Blocker > Fix For: 1.6 > > Attachments: ResolveXSDTestCase.zip > > > I am using the ServiceClient to invoke a Web Service, but the WSDL file and > imported schema files are located within a jar file that is in the Classpth. > I can get the Definition object, and I set the DocumentBaseURI to the proper > URL pointing inside the jar file, but when I pass it to the ServiceClient I > get an error saying that it can't resolve the imported schema files. This > happens when it calls AxisService.createClientSideAxisService(). > It looks like a fix was put in the WSDLToAxisServiceBuilder class (the > addition of the setCustomResolver() method) so that you can set a custom > URIResolver to resolve imported schema files. This gets inherited by the > WSDL11ToAxisServiceBuilder, however the problem is that this setter is not > exposed to the ServiceClient, so I can never use it. The ServiceClient > constructors and the AxisService.createClientSideAxisService() methods should > take in an additional argument so that calling code can pass in the right > URIResolver instance which would get set on the WSDL11ToAxisServiceBuilder > instance. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.