Hello,
I have upgraded out webservice from XFire to CXF 2.3.2
We are trying  if the same old soap request could be used to hit the new CXF
service, having no impact to the client. I was able to comeup with such a
implementation that I can use the same soap request but the response I am
getting is different with respect to the namespace. Any pointer how I can
get this aligned.

Below I have the soap request and the two responses. one from the old XFIRE
and one from the new CXF. Also my annotation configuration and the JAXB
package-info.java

Soap Request:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";
xmlns:web="http://webservice.lastPCP.com";
xmlns:ser="http://service.lastPCP.com";>
   <soapenv:Header/>
   <soapenv:Body>
      <web:getLastPCP>
         <web:in0>           
            <ser:searchAcross>false</ser:searchAcross>
            <ser:memberKey>7Mt</ser:memberKey>
         </web:in0>
      </web:getLastPCP>
   </soapenv:Body>
</soapenv:Envelope>

SOAP Response: XFIRE

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/";
xmlns:xsd="http://www.w3.org/2001/XMLSchema";
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";>
   <soap:Body>
      <ns1:getLastPCPResponse xmlns:ns1="http://webservice.lastPCP.com";>
         <ns1:out>
            <pIdQualifier xmlns="http://service.lastPCP.com";></pIdQualifier>
            <pId xmlns="http://service.lastPCPcom";>102866</pId>
         </ns1:out>
      </ns1:getLastPCPResponse>
   </soap:Body>
</soap:Envelope>

SOAP Response: CXF

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/";>
   <soap:Body>
      <ns3:getLastPCPResponse xmlns:ns3="http://webservice.lastPCP.com/";
xmlns:ns2="http://service.lastPCP.com";
xmlns:web="http://webservice.lastPCP.com";>
         <ns3:out>
            <ns2:pId>102866</ns2:pId>
            <ns2:pIdQualifier></ns2:pIdQualifier>
         </ns3:out>
      </ns3:getLastPCPResponse>
   </soap:Body>
</soap:Envelope>

Service Annotation

@WebService
@SOAPBinding(style = Style.DOCUMENT, use=Use.LITERAL, parameterStyle =
ParameterStyle.WRAPPED )
public interface LastPCPService {
    
        
        @WebMethod(action="getLastPCP", operationName="getLastPCP")
        @WebResult(name="out")
    LastPCPRes getLastPCP(@WebParam(name = "in0")LastPCPReq request) ;
}

PACKAGE-INFO.JAVA

@javax.xml.bind.annotation.XmlSchema(
        namespace = "http://service.lastPCP.com";, 
        xmlns = { 
                        @javax.xml.bind.annotation.XmlNs( prefix = "web",
                  namespaceURI = "http://webservice.lastPCP.com"; )},
        elementFormDefault = javax.xml.bind.annotation.XmlNsForm.QUALIFIED)


package com.lastPCP.webservice;

THanks for your help.





--
View this message in context: 
http://cxf.547215.n5.nabble.com/Xfire-to-CXF-Backwards-compatiblity-tp5729084.html
Sent from the cxf-user mailing list archive at Nabble.com.

Reply via email to