Hi,

Try add enable -exsh flag when you generate the code
-------------
Freeman(Yue) Fang

Red Hat, Inc. 
FuseSource is now part of Red Hat
Web: http://fusesource.com | http://www.redhat.com/
Twitter: freemanfang
Blog: http://freemanfang.blogspot.com
http://blog.sina.com.cn/u/1473905042
weibo: @Freeman小屋



On 2013-6-21, at 下午10:02, Brett Heroux wrote:

> I'm new to Apache CXF and web services in general, but this situation
> doesn't work yet and, to me, it looks like it should
> 
> 
> My WSDL produces methods such as this:
> 
> 
> 
>    @WebResult(name = "purchaseResponse", targetNamespace = "")
> 
>    @RequestWrapper(localName = "purchase", targetNamespace =
> "http://PartnerTransactionServiceGateway/wsdl";, className =
> "partnertransactionservicegateway.wsdl.Purchase")
> 
>    @WebMethod
> 
>    @ResponseWrapper(localName = "purchaseResponse", targetNamespace =
> "http:// PartnerTransactionServiceGateway/wsdl", className = "
> partnertransactionservicegateway.wsdl.PurchaseResponse")
> 
>    public partnertransactionservicegateway.wsdl.PurchaseResponseType
> purchase(
> 
>        @WebParam(name = "purchaseRequest", targetNamespace = "")
> 
>        partnertransactionservicegateway.wsdl.PurchasedRequestType
> purchaseRequest,
> 
>        @WebParam(name = "header", targetNamespace = "
> http://PartnerTransactionServiceGateway/wsdl";, header = true)
> 
>        Header requestHeader
> 
>    ) throws PurchaseFaultMsg;
> 
> 
> 
> But the runtime does not pass the requestHeader parameter and the call
> fails.
> 
> 
> 
> I am converting this Web Service from WebSphere web services to jBoss 6 EAP
> and Apache CXF 2.7.5 (for wsdl2java)
> 
> 
> 
> These are the details of the WSDL
> 
> 
> 
>            <wsdl:message name="purchaseHeaderMsg">
> 
>                        <wsdl:part name="request_header" element="tns:header
> "/>
> 
>            </wsdl:message>
> 
>            <wsdl:message name="purchaseRequestMsg">
> 
>                        <wsdl:part name="purchaseParameters" element="
> tns:purchase"/>
> 
>            </wsdl:message>
> 
>            <wsdl:message name="purchaseResponseMsg">
> 
>                        <wsdl:part name="purchaseResult" element="
> tns:purchaseResponse"/>
> 
>            </wsdl:message>
> 
>            <wsdl:message name="purchase_faultMsg">
> 
>                        <wsdl:part name="fault" element="
> tns:FaultType_element"/>
> 
>            </wsdl:message>
> 
> 
> 
> portType
> 
>  <wsdl:operation name="purchase">
> 
> <wsdl:input name="purchaseRequest" message="bons1:purchaseRequestMsg"/>
> 
> <wsdl:output name="purchaseResponse" message="bons1:purchaseResponseMsg"/>
> 
> <wsdl:fault name="fault" message="bons1:purchase_faultMsg"/>
> 
> </wsdl:operation>
> 
> bindings
> <wsdl:operation name="purchase">
> <soap:operation soapAction="urn#purchase"/>
> <wsdl:input name="purchaseRequest">
> <soap:header message="Port_0:purchaseHeaderMsg" part="request_header"
> use="literal"/>
> <soap:body parts="purchaseParameters" use="literal"/>
> </wsdl:input>
> <wsdl:output name="purchaseResponse">
> <soap:body use="literal"/>
> </wsdl:output>
> <wsdl:fault name="fault">
> <soap:fault name="fault" use="literal"/>
> </wsdl:fault>
> </wsdl:operation>
> 
> Finally, I use maven to generate my java code
> 
>              <plugin>
>                  <groupId>org.apache.cxf</groupId>
>                  <artifactId>cxf-codegen-plugin</artifactId>
>                  <version>${cxf.version}</version>
>                  <executions>
>                     <execution>
>                        <configuration>
> <fork>once</fork>
>                          <sourceRoot>
>                              ${basedir}/target/generated-sources
>                           </sourceRoot>
>   <defaultOptions>
> <frontEnd>jaxws21</frontEnd>
>    </defaultOptions>
>                           <wsdlOptions>
>                                <wsdlOption>
>                                   <wsdl>
> 
> ${basedir}/src/main/resources/PartnerTransactionServices.wsdl
>                                   </wsdl>
> 
> <extendedSoapHeaders>true</extendedSoapHeaders>
>                               </wsdlOption>
>                           </wsdlOptions>
>                        </configuration>
>                        <goals>
>                           <goal>wsdl2java</goal>
>                        </goals>
>                     </execution>
>                  </executions>
> <dependencies>
> <dependency>
>   <groupId>com.sun.xml.bind</groupId>
>    <artifactId>jaxb-impl</artifactId>
>   <version>2.2</version>
> </dependency>
> <dependency>
>   <groupId>com.sun.xml.bind</groupId>
>   <artifactId>jaxb-xjc</artifactId>
>    <version>2.2</version>
> </dependency>
>                            <dependency>
>                                <groupId>org.apache.cxf</groupId>
> 
> <artifactId>cxf-rt-bindings-soap</artifactId>
>                                <version>2.7.5</version>
>                            </dependency>
>                        </dependencies>
>               </plugin>
> 
> Brett Heroux

Reply via email to