[ 
https://issues.apache.org/jira/browse/CXF-2225?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Daniel Kulp resolved CXF-2225.
------------------------------

       Resolution: Invalid
    Fix Version/s: Invalid


Changing parameter names requires a JAX-WS customization file, not a JAXB 
customization file.   The JAXB customizations just apply to stuff in the 
schema.  "/xsd:definitions/xsd:message....." is not part of the schema.

With 2.2.2, you can pass the -autoNameResolution flag to wsdl2java and it will 
automatically generate new names for the conflicts.



> JAXB Xpath always results in empty target node 
> -----------------------------------------------
>
>                 Key: CXF-2225
>                 URL: https://issues.apache.org/jira/browse/CXF-2225
>             Project: CXF
>          Issue Type: Bug
>          Components: JAXB Databinding
>    Affects Versions: 2.2.1
>         Environment: Eclipse 3.4 / Maven / JAVA 5
> CXF 2.2.1 
> wsdl2java Maven plugin version 2.1.4
>            Reporter: Deboschère Tony
>             Fix For: Invalid
>
>
> Hi.
> I have a wsdl file from third party. 
> I wanted to generate the cxf client from it.
> In the WSDL I Have this : 
> in the portType section:
> <operation name="JobSubmit">
>             <input message="xoa:JobSubmitRequest"/>
>             <output message="xoa:JobSubmitResult"/>
> </operation>
> In message section:
> <message name="JobSubmitRequest">
>         <part element="xoa:JobSubmitRequest" name="parameter"/>
>         <part element="xoa:Request" name="request_header"/>
>     </message>
>     <message name="JobSubmitResult">
>         <part element="xoa:JobSubmitResult" name="parameter"/>
>         <part element="xoa:Response" name="response_header"/>
>     </message>
> As you can see both message have a part named 'parameter'
> It seems to be the reason why I have a java mehtod with a missing parameter : 
> @WebMethod(operationName = "JobSubmit", action = "XOAJobSubmit")
>     public void jobSubmit(
>         @WebParam(partName = "parameter", mode = WebParam.Mode.INOUT, name = 
> "JobSubmitResult", targetNamespace = 
> "http://premconn.premiereconnect.com/2007/02";)
>         javax.xml.ws.Holder<JobSubmitResult> parameter,
>         @WebParam(partName = "request_header", name = "Request", 
> targetNamespace = "http://premconn.premiereconnect.com/2007/02";, header = 
> true)
>         Request requestHeader,
>         @WebParam(partName = "response_header", mode = WebParam.Mode.OUT, 
> name = "Response", targetNamespace = 
> "http://premconn.premiereconnect.com/2007/02";, header = true)
>         javax.xml.ws.Holder<Response> responseHeader
>     );
> So I try to use a JAXB Binding like this : 
> <?xml version="1.0" encoding="UTF-8"?>
> <jxb:bindings xmlns:jxb="http://java.sun.com/xml/ns/jaxb";
>       xmlns:xsd="http://www.w3.org/2001/XMLSchema"; jxb:version="2.1"
>       xmlns="http://java.sun.com/xml/ns/jaxws"; 
> wsdlLocation="./wsdl/syncTest.wsdl">
>       <jxb:bindings schemaLocation="../wsdl/syncTest.wsdl">
>               <jxb:schemaBindings>
>                       <jxb:package 
> name="com.manpower.fmk.webservice.external.sms.schema" />
>               </jxb:schemaBindings>
>       </jxb:bindings>
>       <jxb:bindings schemaLocation="../wsdl/syncTest.wsdl">
>               <jxb:bindings 
> node="/xsd:definitions/xsd:messa...@name='JobSubmitRequest']/xsd:pa...@name='parameter']">
>                       <jxb:attribute name="parameterRequest" />
>               </jxb:bindings>
>       </jxb:bindings>
> </jxb:bindings>
> But all I can get from the wsdl2java plugin is : 
> eason: Thrown by JAXB : XPath evaluation of 
> "/xsd:definitions/xsd:messa...@name='JobSubmitRequest']/xsd:pa...@name='parameter']"
>  results in empty target node
> org.apache.cxf.tools.common.ToolException: Thrown by JAXB : XPath evaluation 
> of 
> "/xsd:definitions/xsd:messa...@name='JobSubmitRequest']/xsd:pa...@name='parameter']"
>  results in empty target node
>       at 
> org.apache.cxf.tools.wsdlto.databinding.jaxb.JAXBBindErrorListener.error(JAXBBindErrorListener.java:34)
>       at 
> com.sun.tools.xjc.api.impl.s2j.SchemaCompilerImpl.error(SchemaCompilerImpl.java:285)
>       at 
> com.sun.tools.xjc.reader.internalizer.Internalizer.reportError(Internalizer.java:504)
>       at 
> com.sun.tools.xjc.reader.internalizer.Internalizer.reportError(Internalizer.java:495)
>       at 
> com.sun.tools.xjc.reader.internalizer.Internalizer.buildTargetNodeMap(Internalizer.java:232)
>       at 
> com.sun.tools.xjc.reader.internalizer.Internalizer.buildTargetNodeMap(Internalizer.java:289)
>       at 
> com.sun.tools.xjc.reader.internalizer.Internalizer.buildTargetNodeMap(Internalizer.java:289)
>       at 
> com.sun.tools.xjc.reader.internalizer.Internalizer.transform(Internalizer.java:134)
>       at 
> com.sun.tools.xjc.reader.internalizer.Internalizer.transform(Internalizer.java:96)
>       at 
> com.sun.tools.xjc.reader.internalizer.DOMForest.transform(DOMForest.java:448)
>       at 
> com.sun.tools.xjc.api.impl.s2j.SchemaCompilerImpl.bind(SchemaCompilerImpl.java:221)
>       at 
> com.sun.tools.xjc.api.impl.s2j.SchemaCompilerImpl.bind(SchemaCompilerImpl.java:85)
>       at 
> org.apache.cxf.tools.wsdlto.databinding.jaxb.JAXBDataBinding.initialize(JAXBDataBinding.java:218)
>       at 
> org.apache.cxf.tools.wsdlto.WSDLToJavaContainer.generateTypes(WSDLToJavaContainer.java:536)
>       at 
> org.apache.cxf.tools.wsdlto.WSDLToJavaContainer.execute(WSDLToJavaContainer.java:187)
>       at 
> org.apache.cxf.tools.wsdlto.WSDLToJavaContainer.execute(WSDLToJavaContainer.java:232)
>       at 
> org.apache.cxf.tools.common.toolspec.ToolRunner.runTool(ToolRunner.java:83)
>       at org.apache.cxf.tools.wsdlto.WSDLToJava.run(WSDLToJava.java:103)
>       at 
> org.apache.cxf.maven_plugin.WSDL2JavaMojo.processWsdl(WSDL2JavaMojo.java:360)
>       at 
> org.apache.cxf.maven_plugin.WSDL2JavaMojo.execute(WSDL2JavaMojo.java:257)
>       at 
> org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:579)
>       at 
> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(DefaultLifecycleExecutor.java:498)
>       at 
> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegmentForProject(DefaultLifecycleExecutor.java:265)
>       at 
> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLifecycleExecutor.java:191)
>       at 
> org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:149)
>       at 
> org.apache.maven.DefaultMaven.execute_aroundBody0(DefaultMaven.java:223)
>       at 
> org.apache.maven.DefaultMaven.execute_aroundBody1$advice(DefaultMaven.java:304)
>       at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:1)
>       at 
> org.apache.maven.embedder.MavenEmbedder.execute_aroundBody2(MavenEmbedder.java:904)
>       at 
> org.apache.maven.embedder.MavenEmbedder.execute_aroundBody3$advice(MavenEmbedder.java:304)
>       at org.apache.maven.embedder.MavenEmbedder.execute(MavenEmbedder.java:1)
>       at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:176)
>       at org.apache.maven.cli.MavenCli.main(MavenCli.java:63)
>       at org.apache.maven.cli.MavenCli.main(MavenCli.java:52)
> Caused by: com.sun.istack.SAXParseException2: XPath evaluation of 
> "/xsd:definitions/xsd:messa...@name='JobSubmitRequest']/xsd:pa...@name='parameter']"
>  results in empty target node
>       at 
> com.sun.tools.xjc.reader.internalizer.Internalizer.reportError(Internalizer.java:501)
>       ... 31 more
> So if someone has an hint about what is going on, I'd be gratefull.
> Regards.
> Deboschère Tony - France

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to