Stuart, Thanks for sharing the solution with us and sorry to have kept you waiting!
Regards, Gert Vanthienen ------------------------ Open Source SOA: http://fusesource.com Blog: http://gertvanthienen.blogspot.com/ 2009/5/9 Stuart Roe <[email protected]>: > And the answer was the form of attributes and elements. Changing the wsdl > file to read as below fixed the issue. > > The cause of the problem was that the client library wasn't able to control > (set unqualified or qualified) the form of the elements and attributes. The > libraries default was different to the default for SMX3.3. Added an explicit > declaration to match the client's implementation corrected the problem. > > <xsd:schema targetNamespace="http://some.dom.com/soap/soapservice" > attributeFormDefault="qualified" > elementFormDefault="qualified"> > ... > </xsd:schema> > > -----Original Message----- > From: Stuart Roe [mailto:[email protected]] > Sent: 08 May 2009 15:27 > To: [email protected] > Subject: Help with cxf missing parameters > > Hope someone can help. > > I have configured (WSDL first) cxfbc and cxfse to operate with the following > wsdl. The stub files created by wsdl2java are being called but the supplied > parameters are null (when the client provided non-null parameters). The > parameters (product and qty) can be seen in the packet dump below. I have > also included a copy of the wsdl file used to create the stub files. > > As the appropriate SE function in the stub is being called I'm assuming that > the xbean configuration for both BC and SE are correct. > > Environment: WinXP, SMX 3.3, SMX-CXFBC/SE 2008.01. > > Please let me know if I'm wrong here or if further information is required. > > Stuart. > > Packet dump: > > POST /soap/sscc HTTP/1.1 > User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; MS .NET CF Web Services > Client Protocol 1.0.4292.0) > Cache-Control: No-Transform > SOAPAction: " <http://some.dom.com/soap/soapservice/createLabel> > http://some.dom.com/soap/soapservice/createLabel" > Content-Type: text/xml; charset=utf-8 > Content-Length: 350 > Connection: Keep-Alive > Expect: 100-continue > Host: 192.168.1.2 > > <soap:Envelope xmlns:soap=" <http://schemas.xmlsoap.org/soap/envelope/> > http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi=" > <http://www.w3.org/2001/XMLSchema-instance> > http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd=" > <http://www.w3.org/2001/XMLSchema> > http://www.w3.org/2001/XMLSchema"><soap:Body><createLabel xmlns=" > <http://some.dom.com/soap/soapservice> > http://some.dom.com/soap/soapservice"><product><ref>Hello > </ref></product><qty><qty1>world</qty1></qty></createLabel></soap:Body></soa > p:Envelope> > > > Here is the WSDL file used to create the server source files: > > <?xml version="1.0" encoding="UTF-8" standalone="no"?> <wsdl:definitions > xmlns:p=" <http://schemas.xmlsoap.org/wsdl/soap/> > http://schemas.xmlsoap.org/wsdl/soap/" > xmlns:soap=" <http://some.dom.com/soap/soapservice> > http://some.dom.com/soap/soapservice" > xmlns:wsdl=" <http://schemas.xmlsoap.org/wsdl/> > http://schemas.xmlsoap.org/wsdl/" > xmlns:xsd=" <http://www.w3.org/2001/XMLSchema> > http://www.w3.org/2001/XMLSchema" > name="soap" > targetNamespace=" <http://some.dom.com/soap/soapservice> > http://some.dom.com/soap/soapservice"> > > <wsdl:types> > <xsd:schema targetNamespace=" <http://some.dom.com/soap/soapservice> > http://some.dom.com/soap/soapservice"> > <xsd:complexType name="product"> > <xsd:sequence> > <xsd:element name="ref" type="xsd:string" /> > </xsd:sequence> > </xsd:complexType> > <xsd:complexType name="qty"> > <xsd:sequence> > <xsd:element name="qty" type="xsd:string" /> > </xsd:sequence> > </xsd:complexType> > > <xsd:element name="createLabel"> > <xsd:complexType> > <xsd:sequence> > <xsd:element name="product" type="soap:product" /> > <xsd:element name="qty" type="soap:qty" /> > </xsd:sequence> > </xsd:complexType> > </xsd:element> > > <xsd:element name="createLabelResponse"> > <xsd:complexType> > <xsd:sequence> > <xsd:element name="status" type="xsd:integer" /> > </xsd:sequence> > </xsd:complexType> > </xsd:element> > </xsd:schema> > </wsdl:types> > > <wsdl:message name="createLabelRequest"> > <wsdl:part element="soap:createLabel" name="parameters"/> > </wsdl:message> > > <wsdl:message name="createLabelResponse"> > <wsdl:part element="soap:createLabelResponse" name="parameters"/> > </wsdl:message> > > <wsdl:portType name="SOAPPort"> > <wsdl:operation name="createLabel"> > <wsdl:input message="soap:createLabelRequest"/> > <wsdl:output message="soap:createLabelResponse"/> > </wsdl:operation> > </wsdl:portType> > > <wsdl:binding name="soapSOAPBinding" type="soap:SOAPPort"> > <p:binding style="document" transport=" > <http://schemas.xmlsoap.org/soap/http> > http://schemas.xmlsoap.org/soap/http"/> > <wsdl:operation name="createLabel"> > <p:operation soapAction=" > <http://some.dom.com/soap/soapservice/createLabel> > http://some.dom.com/soap/soapservice/createLabel"/> > <wsdl:input> > <p:body use="literal"/> > </wsdl:input> > <wsdl:output> > <p:body use="literal"/> > </wsdl:output> > </wsdl:operation> > </wsdl:binding> > > <wsdl:service name="soapService"> > <wsdl:port binding="soap:soapSOAPBinding" name="soapSOAP"> > <p:address location=" <http://localhost:81/soap/sscc> > http://localhost:81/soap/sscc"/> > </wsdl:port> > </wsdl:service> > > </wsdl:definitions> > > >
