________________________________ From: Vinod D <[email protected]> To: [email protected] Sent: Monday, May 18, 2009 5:33:47 PM Subject: wsdl2xml and XML Binding
Hello I am running into an isse with XML Binding. Here is what I am doing - Using CXF 2.1.3 and deploying it in tomcat 6.x - Define a simple wsdl (wsdl first approach) with one method (sayHi) which takes two string params and returns a cat-ed string. - Works fine using SOAP Binding (first two log entried below). - Used wsdl2xml tool to create a XML Port and XML Binding and invoke the sayHi method. - I see in XML message logging on tomcat call (sayHi) coming with two string param , however to the service method impl I see both the strings are passed as null (last two log-entry below). Are there any issues re. using wsdl2xml in this manner or something I am missing. regards -Vinod ---------------------------------- INFO: Inbound Message ---------------------------- Payload: <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">< soap:Body><ns2:sayHi xmlns:ns2="http://acme.com/test/"><arg1>argument1</arg1><ar g2>argument2</arg2></ns2:sayHi></soap:Body></soap:Envelope> -------------------------------------- TestPortTypeImpl::sayHi() is called arg1=argument1, arg2=argument2 May 18, 2009 4:42:25 PM org.apache.cxf.interceptor.LoggingOutInterceptor$Logging Callback onClose INFO: Outbound Message --------------------------- Payload: <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">< soap:Body><ns2:sayHiResponse xmlns:ns2="http://acme.com/test/"><out>sayHi to : a rgument1 and argument2</out></ns2:sayHiResponse></soap:Body></soap:Envelope> -------------------------------------- INFO: Inbound Message ---------------------------- Payload: <ns2:sayHi xmlns:ns2="http://acme.com/test/"><arg1>argument1</arg1><arg 2>argument2</arg2></ns2:sayHi> -------------------------------------- TestPortTypeXMLImpl::sayHi() is called arg1=null, arg2=null May 18, 2009 4:47:55 PM org.apache.cxf.interceptor.LoggingOutInterceptor$Logging Callback onClose INFO: Outbound Message --------------------------- Encoding: UTF-8 Headers: {} Messages: Payload: <ns2:sayHiResponse xmlns:ns2="http://acme.com/test/"><out>sayHi to : nu ll and null</out></ns2:sayHiResponse> -------------------------------------- Some more obervation: If I comment out the <xformat:body ...rootNode="sayHi"> element from the XML binding generated by wsdl2xml as shown below, I see the parameters passed correctly to the service implementation and works as expected. <wsdl:bindingname="testXMLBinding"type="tns:testPortType"><xformat:binding/><wsdl:operationname="sayHi"><wsdl:input><!-- xformat:body xmlns="http://acme.com/test/" rootNode="sayHi" / --></wsdl:input><wsdl:output><!-- xformat:body xmlns="http://acme.com/test/" rootNode="sayHi" / --></wsdl:output></wsdl:operation></wsdl:binding> Not sure what is right approach here .. -Vinod
