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