You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@cxf.apache.org by "juan.velez" <ju...@areva-td.com> on 2008/09/05 23:31:22 UTC
Trouble with services having multiple methods/operations
I had understood that a SEI could have multiple methods and the correct
method is chosen according to the soap action found in the Request Header. I
am using a Java first approach but when I try two different requests, one
addresses for each method/operation, both are handled by the same method
operation (in this case exportCmiModelDataV2).
wsdl
<?xml version="1.0" encoding="UTF-8"?>
<wsdl:definitions name="ExportRequestService"
targetNamespace="http://www.areva.com/mmi/wsdl"
xmlns:ns1="http://www.areva.com/mmi/xml"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:tns="http://www.areva.com/mmi/wsdl"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<wsdl:types>
<schema attributeFormDefault="unqualified"
elementFormDefault="qualified"
targetNamespace="http://www.areva.com/mmi/xml"
xmlns="http://www.w3.org/2001/XMLSchema"
xmlns:mmi="http://www.areva.com/mmi/xml">
<complexType name="ExportRequestType">
<sequence>
<element name="Application" type="string"/>
<element name="Environment" type="string"/>
<element name="FilePath" type="string"/>
<element name="CSMRequestId" type="string"/>
</sequence>
</complexType>
<element name="ExportRequest" type="mmi:ExportRequestType"/>
</schema>
</wsdl:types>
<wsdl:message name="processExport">
<wsdl:part element="ns1:ExportRequest" name="request"/>
</wsdl:message>
<wsdl:message name="processExportV2">
<wsdl:part element="ns1:ExportRequest" name="request"/>
</wsdl:message>
<wsdl:portType name="ExportRequestPortType">
<wsdl:operation name="processExport">
<wsdl:input message="tns:processExport" name="processExport"/>
</wsdl:operation>
<wsdl:operation name="processExportV2">
<wsdl:input message="tns:processExportV2" name="processExportV2"/>
</wsdl:operation>
</wsdl:portType>
<wsdl:binding name="ExportRequestServiceSoapBinding"
type="tns:ExportRequestPortType">
<soap:binding style="document"
transport="http://schemas.xmlsoap.org/soap/http"/>
<wsdl:operation name="processExport">
<soap:operation soapAction="processExport" style="document"/>
<wsdl:input name="processExport">
<soap:body use="literal"/>
</wsdl:input>
</wsdl:operation>
<wsdl:operation name="processExportV2">
<soap:operation soapAction="processExportV2" style="document"/>
<wsdl:input name="processExportV2">
<soap:body use="literal"/>
</wsdl:input>
</wsdl:operation>
</wsdl:binding>
<wsdl:service name="ExportRequestService">
<wsdl:port binding="tns:ExportRequestServiceSoapBinding"
name="ExportRequestPort">
<soap:address location="http://localhost:8080/mmi/services/export"/>
</wsdl:port>
</wsdl:service>
</wsdl:definitions>
service
package com.arevatd.mmi.business.services;
import javax.jws.Oneway;
import javax.jws.WebMethod;
import javax.jws.WebParam;
import javax.jws.WebService;
import javax.jws.soap.SOAPBinding;
import com.areva.mmi.xml.ExportRequestType;
@WebService(name="ExportRequestPortType",
targetNamespace="http://www.areva.com/mmi/wsdl")
@SOAPBinding(parameterStyle = SOAPBinding.ParameterStyle.BARE)
public interface CmiModelDataExportWs {
/**
* The actual operation for this web service: perform an export of CMI
Model Data
*
* @param request The Request to export a e-terrasource export project
*/
@WebMethod(operationName = "processExport", action = "processExport")
@SOAPBinding(parameterStyle = SOAPBinding.ParameterStyle.BARE)
@Oneway()
public void exportCmiModelData(
@WebParam(targetNamespace = "http://www.areva.com/mmi/xml",
partName="request",
name = "ExportRequest")
ExportRequestType request);
@WebMethod(operationName = "processExportV2", action =
"processExportV2")
@SOAPBinding(parameterStyle = SOAPBinding.ParameterStyle.BARE)
@Oneway()
public void exportCmiModelDataV2(
@WebParam(targetNamespace = "http://www.areva.com/mmi/xml",
partName="request",
name = "ExportRequest")
ExportRequestType request);
}
service impl
package com.arevatd.mmi.business.services.support;
import java.util.logging.Logger;
import javax.jws.WebService;
import javax.xml.namespace.QName;
import javax.xml.soap.SOAPException;
import javax.xml.soap.SOAPFactory;
import javax.xml.soap.SOAPFault;
import javax.xml.ws.BindingType;
import javax.xml.ws.soap.SOAPFaultException;
import com.arevatd.mmi.business.services.CmiModelDataExportWs;
import com.areva.mmi.xml.ExportRequestType;
@WebService(endpointInterface="com.arevatd.mmi.business.services.CmiModelDataExportWs",
name="ExportRequestPortType",
portName="ExportRequestPort",
serviceName="ExportRequestService",
targetNamespace="http://www.areva.com/mmi/wsdl")
@BindingType(value=javax.xml.ws.soap.SOAPBinding.SOAP11HTTP_BINDING)
public class CmiModelDataExportWsImpl implements CmiModelDataExportWs {
private final Logger logger =
Logger.getLogger(this.getClass().getName());
public void exportCmiModelData(ExportRequestType request) {
logger.info("Application=" + request.getApplication());
logger.info("Environment=" + request.getEnvironment());
logger.info("FilePath=" + request.getFilePath());
logger.info("CSMRequestId=" + request.getCSMRequestId());
try {
SOAPFactory soapFactory = SOAPFactory.newInstance();
SOAPFault fault = soapFactory.createFault("Hello",
new QName("http://schemas.xmlsoap.org/soap/envelope/",
"Client"));
fault.setFaultString("Juan");
throw new SOAPFaultException(fault);
} catch(SOAPException se) {
}
}
public void exportCmiModelDataV2(ExportRequestType request) {
logger.info("V2Application=" + request.getApplication());
logger.info("V2Environment=" + request.getEnvironment());
logger.info("V2FilePath=" + request.getFilePath());
logger.info("V2CSMRequestId=" + request.getCSMRequestId());
try {
SOAPFactory soapFactory = SOAPFactory.newInstance();
SOAPFault fault = soapFactory.createFault("Hello",
new QName("http://schemas.xmlsoap.org/soap/envelope/",
"Client"));
fault.setFaultString("V2Juan");
throw new SOAPFaultException(fault);
} catch(SOAPException se) {
}
}
}
request1
Host: localhost:8080
Content-Length: 427
SOAPAction: "processExport"
User-Agent: Jakarta Commons-HttpClient/3.0.1
Content-Type: text/xml;charset=UTF-8
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:ns="http://www.areva.com/mmi/xml">
<soapenv:Header/>
<soapenv:Body>
<ns:ExportRequest>
<ns:Application>?</ns:Application>
<ns:Environment>?</ns:Environment>
<ns:FilePath>?</ns:FilePath>
<ns:CSMRequestId>?</ns:CSMRequestId>
</ns:ExportRequest>
</soapenv:Body>
</soapenv:Envelope>
request2
Host: localhost:8080
Content-Length: 427
SOAPAction: "processExportV2"
User-Agent: Jakarta Commons-HttpClient/3.0.1
Content-Type: text/xml;charset=UTF-8
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:ns="http://www.areva.com/mmi/xml">
<soapenv:Header/>
<soapenv:Body>
<ns:ExportRequest>
<ns:Application>?</ns:Application>
<ns:Environment>?</ns:Environment>
<ns:FilePath>?</ns:FilePath>
<ns:CSMRequestId>?</ns:CSMRequestId>
</ns:ExportRequest>
</soapenv:Body>
</soapenv:Envelope>
--
View this message in context: http://www.nabble.com/Trouble-with-services-having-multiple-methods-operations-tp19339853p19339853.html
Sent from the cxf-user mailing list archive at Nabble.com.
Re: Trouble with services having multiple methods/operations
Posted by Daniel Kulp <dk...@apache.org>.
Just FYI....
This is probably a bug and should be logged and fixed. Probably a bug in the
SoapActionInInterceptor if you want to dig in and provide a patch.
HOWEVER, I wouldn't categorize it as a high priority issue for CXF as such a
wsdl is NOT WSI-Basic Profile compliant. WSI-BP specifically states that
the operations need to be unique within the soap:body, which yours is not due
to them both having ns:ExportRequest.
Dan
On Friday 05 September 2008 5:31:22 pm juan.velez wrote:
> I had understood that a SEI could have multiple methods and the correct
> method is chosen according to the soap action found in the Request Header.
> I am using a Java first approach but when I try two different requests, one
> addresses for each method/operation, both are handled by the same method
> operation (in this case exportCmiModelDataV2).
>
> wsdl
>
> <?xml version="1.0" encoding="UTF-8"?>
> <wsdl:definitions name="ExportRequestService"
> targetNamespace="http://www.areva.com/mmi/wsdl"
> xmlns:ns1="http://www.areva.com/mmi/xml"
> xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
> xmlns:tns="http://www.areva.com/mmi/wsdl"
> xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
> xmlns:xsd="http://www.w3.org/2001/XMLSchema">
> <wsdl:types>
> <schema attributeFormDefault="unqualified"
> elementFormDefault="qualified"
> targetNamespace="http://www.areva.com/mmi/xml"
> xmlns="http://www.w3.org/2001/XMLSchema"
> xmlns:mmi="http://www.areva.com/mmi/xml">
> <complexType name="ExportRequestType">
> <sequence>
> <element name="Application" type="string"/>
> <element name="Environment" type="string"/>
> <element name="FilePath" type="string"/>
> <element name="CSMRequestId" type="string"/>
> </sequence>
> </complexType>
> <element name="ExportRequest" type="mmi:ExportRequestType"/>
> </schema>
> </wsdl:types>
> <wsdl:message name="processExport">
> <wsdl:part element="ns1:ExportRequest" name="request"/>
> </wsdl:message>
> <wsdl:message name="processExportV2">
> <wsdl:part element="ns1:ExportRequest" name="request"/>
> </wsdl:message>
> <wsdl:portType name="ExportRequestPortType">
> <wsdl:operation name="processExport">
> <wsdl:input message="tns:processExport" name="processExport"/>
> </wsdl:operation>
> <wsdl:operation name="processExportV2">
> <wsdl:input message="tns:processExportV2" name="processExportV2"/>
> </wsdl:operation>
> </wsdl:portType>
> <wsdl:binding name="ExportRequestServiceSoapBinding"
> type="tns:ExportRequestPortType">
> <soap:binding style="document"
> transport="http://schemas.xmlsoap.org/soap/http"/>
> <wsdl:operation name="processExport">
> <soap:operation soapAction="processExport" style="document"/>
> <wsdl:input name="processExport">
> <soap:body use="literal"/>
> </wsdl:input>
> </wsdl:operation>
> <wsdl:operation name="processExportV2">
> <soap:operation soapAction="processExportV2" style="document"/>
> <wsdl:input name="processExportV2">
> <soap:body use="literal"/>
> </wsdl:input>
> </wsdl:operation>
> </wsdl:binding>
> <wsdl:service name="ExportRequestService">
> <wsdl:port binding="tns:ExportRequestServiceSoapBinding"
> name="ExportRequestPort">
> <soap:address location="http://localhost:8080/mmi/services/export"/>
> </wsdl:port>
> </wsdl:service>
> </wsdl:definitions>
>
> service
>
> package com.arevatd.mmi.business.services;
>
> import javax.jws.Oneway;
> import javax.jws.WebMethod;
> import javax.jws.WebParam;
> import javax.jws.WebService;
> import javax.jws.soap.SOAPBinding;
>
> import com.areva.mmi.xml.ExportRequestType;
>
> @WebService(name="ExportRequestPortType",
> targetNamespace="http://www.areva.com/mmi/wsdl")
> @SOAPBinding(parameterStyle = SOAPBinding.ParameterStyle.BARE)
> public interface CmiModelDataExportWs {
> /**
> * The actual operation for this web service: perform an export of CMI
> Model Data
> *
> * @param request The Request to export a e-terrasource export project
> */
> @WebMethod(operationName = "processExport", action = "processExport")
> @SOAPBinding(parameterStyle = SOAPBinding.ParameterStyle.BARE)
> @Oneway()
> public void exportCmiModelData(
> @WebParam(targetNamespace = "http://www.areva.com/mmi/xml",
> partName="request",
> name = "ExportRequest")
> ExportRequestType request);
>
> @WebMethod(operationName = "processExportV2", action =
> "processExportV2")
> @SOAPBinding(parameterStyle = SOAPBinding.ParameterStyle.BARE)
> @Oneway()
> public void exportCmiModelDataV2(
> @WebParam(targetNamespace = "http://www.areva.com/mmi/xml",
> partName="request",
> name = "ExportRequest")
> ExportRequestType request);
> }
>
> service impl
>
> package com.arevatd.mmi.business.services.support;
>
> import java.util.logging.Logger;
>
> import javax.jws.WebService;
> import javax.xml.namespace.QName;
> import javax.xml.soap.SOAPException;
> import javax.xml.soap.SOAPFactory;
> import javax.xml.soap.SOAPFault;
> import javax.xml.ws.BindingType;
> import javax.xml.ws.soap.SOAPFaultException;
>
> import com.arevatd.mmi.business.services.CmiModelDataExportWs;
>
> import com.areva.mmi.xml.ExportRequestType;
>
>
> @WebService(endpointInterface="com.arevatd.mmi.business.services.CmiModelDa
>taExportWs", name="ExportRequestPortType",
> portName="ExportRequestPort",
> serviceName="ExportRequestService",
> targetNamespace="http://www.areva.com/mmi/wsdl")
> @BindingType(value=javax.xml.ws.soap.SOAPBinding.SOAP11HTTP_BINDING)
> public class CmiModelDataExportWsImpl implements CmiModelDataExportWs {
> private final Logger logger =
> Logger.getLogger(this.getClass().getName());
>
> public void exportCmiModelData(ExportRequestType request) {
> logger.info("Application=" + request.getApplication());
> logger.info("Environment=" + request.getEnvironment());
> logger.info("FilePath=" + request.getFilePath());
> logger.info("CSMRequestId=" + request.getCSMRequestId());
>
> try {
> SOAPFactory soapFactory = SOAPFactory.newInstance();
> SOAPFault fault = soapFactory.createFault("Hello",
> new QName("http://schemas.xmlsoap.org/soap/envelope/",
> "Client"));
> fault.setFaultString("Juan");
>
> throw new SOAPFaultException(fault);
> } catch(SOAPException se) {
> }
> }
>
> public void exportCmiModelDataV2(ExportRequestType request) {
> logger.info("V2Application=" + request.getApplication());
> logger.info("V2Environment=" + request.getEnvironment());
> logger.info("V2FilePath=" + request.getFilePath());
> logger.info("V2CSMRequestId=" + request.getCSMRequestId());
>
> try {
> SOAPFactory soapFactory = SOAPFactory.newInstance();
> SOAPFault fault = soapFactory.createFault("Hello",
> new QName("http://schemas.xmlsoap.org/soap/envelope/",
> "Client"));
> fault.setFaultString("V2Juan");
>
> throw new SOAPFaultException(fault);
> } catch(SOAPException se) {
> }
> }
> }
>
> request1
>
> Host: localhost:8080
> Content-Length: 427
> SOAPAction: "processExport"
> User-Agent: Jakarta Commons-HttpClient/3.0.1
> Content-Type: text/xml;charset=UTF-8
>
> <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
> xmlns:ns="http://www.areva.com/mmi/xml">
> <soapenv:Header/>
> <soapenv:Body>
> <ns:ExportRequest>
> <ns:Application>?</ns:Application>
> <ns:Environment>?</ns:Environment>
> <ns:FilePath>?</ns:FilePath>
> <ns:CSMRequestId>?</ns:CSMRequestId>
> </ns:ExportRequest>
> </soapenv:Body>
> </soapenv:Envelope>
>
> request2
>
> Host: localhost:8080
> Content-Length: 427
> SOAPAction: "processExportV2"
> User-Agent: Jakarta Commons-HttpClient/3.0.1
> Content-Type: text/xml;charset=UTF-8
>
> <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
> xmlns:ns="http://www.areva.com/mmi/xml">
> <soapenv:Header/>
> <soapenv:Body>
> <ns:ExportRequest>
> <ns:Application>?</ns:Application>
> <ns:Environment>?</ns:Environment>
> <ns:FilePath>?</ns:FilePath>
> <ns:CSMRequestId>?</ns:CSMRequestId>
> </ns:ExportRequest>
> </soapenv:Body>
> </soapenv:Envelope>
--
Daniel Kulp
dkulp@apache.org
http://www.dankulp.com/blog
Re: Trouble with services having multiple methods/operations
Posted by Christian Schneider <ch...@die-schneider.net>.
How do you setup the server? Can you post your config, Server init code?
>From the soap requests you posted I would say your client works
correctly as it sets the SOAPAction. What I suspect is that you setup
your server by only referencing the implementation. You should also
reference the interface:
serviceClass="com.arevatd.mmi.business.services.CmiModelDataExportWs"
This will make sure the Server code knows which SOAPAction should be
dispatched to which method.
Did this help?
BTW. If you want to offer your service in an enterprise environment for
other applications you should think about doing Contract First. In this
case you can take a look at:
http://cwiki.apache.org/confluence/display/CXF20DOC/Defining+Contract+first+webservices+with+wsdl+generation+from+java
This Howto describes how to define your services wih Java and still have
the benefists of contract first.
If you only use the webservices internally in your own app code first is
all right of course.
Greetings
Christian
juan.velez schrieb:
> I had understood that a SEI could have multiple methods and the correct
> method is chosen according to the soap action found in the Request Header. I
> am using a Java first approach but when I try two different requests, one
> addresses for each method/operation, both are handled by the same method
> operation (in this case exportCmiModelDataV2).
>
> wsdl
>
> <?xml version="1.0" encoding="UTF-8"?>
> <wsdl:definitions name="ExportRequestService"
> targetNamespace="http://www.areva.com/mmi/wsdl"
> xmlns:ns1="http://www.areva.com/mmi/xml"
> xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
> xmlns:tns="http://www.areva.com/mmi/wsdl"
> xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
> xmlns:xsd="http://www.w3.org/2001/XMLSchema">
> <wsdl:types>
> <schema attributeFormDefault="unqualified"
> elementFormDefault="qualified"
> targetNamespace="http://www.areva.com/mmi/xml"
> xmlns="http://www.w3.org/2001/XMLSchema"
> xmlns:mmi="http://www.areva.com/mmi/xml">
> <complexType name="ExportRequestType">
> <sequence>
> <element name="Application" type="string"/>
> <element name="Environment" type="string"/>
> <element name="FilePath" type="string"/>
> <element name="CSMRequestId" type="string"/>
> </sequence>
> </complexType>
> <element name="ExportRequest" type="mmi:ExportRequestType"/>
> </schema>
> </wsdl:types>
> <wsdl:message name="processExport">
> <wsdl:part element="ns1:ExportRequest" name="request"/>
> </wsdl:message>
> <wsdl:message name="processExportV2">
> <wsdl:part element="ns1:ExportRequest" name="request"/>
> </wsdl:message>
> <wsdl:portType name="ExportRequestPortType">
> <wsdl:operation name="processExport">
> <wsdl:input message="tns:processExport" name="processExport"/>
> </wsdl:operation>
> <wsdl:operation name="processExportV2">
> <wsdl:input message="tns:processExportV2" name="processExportV2"/>
> </wsdl:operation>
> </wsdl:portType>
> <wsdl:binding name="ExportRequestServiceSoapBinding"
> type="tns:ExportRequestPortType">
> <soap:binding style="document"
> transport="http://schemas.xmlsoap.org/soap/http"/>
> <wsdl:operation name="processExport">
> <soap:operation soapAction="processExport" style="document"/>
> <wsdl:input name="processExport">
> <soap:body use="literal"/>
> </wsdl:input>
> </wsdl:operation>
> <wsdl:operation name="processExportV2">
> <soap:operation soapAction="processExportV2" style="document"/>
> <wsdl:input name="processExportV2">
> <soap:body use="literal"/>
> </wsdl:input>
> </wsdl:operation>
> </wsdl:binding>
> <wsdl:service name="ExportRequestService">
> <wsdl:port binding="tns:ExportRequestServiceSoapBinding"
> name="ExportRequestPort">
> <soap:address location="http://localhost:8080/mmi/services/export"/>
> </wsdl:port>
> </wsdl:service>
> </wsdl:definitions>
>
> service
>
> package com.arevatd.mmi.business.services;
>
> import javax.jws.Oneway;
> import javax.jws.WebMethod;
> import javax.jws.WebParam;
> import javax.jws.WebService;
> import javax.jws.soap.SOAPBinding;
>
> import com.areva.mmi.xml.ExportRequestType;
>
> @WebService(name="ExportRequestPortType",
> targetNamespace="http://www.areva.com/mmi/wsdl")
> @SOAPBinding(parameterStyle = SOAPBinding.ParameterStyle.BARE)
> public interface CmiModelDataExportWs {
> /**
> * The actual operation for this web service: perform an export of CMI
> Model Data
> *
> * @param request The Request to export a e-terrasource export project
> */
> @WebMethod(operationName = "processExport", action = "processExport")
> @SOAPBinding(parameterStyle = SOAPBinding.ParameterStyle.BARE)
> @Oneway()
> public void exportCmiModelData(
> @WebParam(targetNamespace = "http://www.areva.com/mmi/xml",
> partName="request",
> name = "ExportRequest")
> ExportRequestType request);
>
> @WebMethod(operationName = "processExportV2", action =
> "processExportV2")
> @SOAPBinding(parameterStyle = SOAPBinding.ParameterStyle.BARE)
> @Oneway()
> public void exportCmiModelDataV2(
> @WebParam(targetNamespace = "http://www.areva.com/mmi/xml",
> partName="request",
> name = "ExportRequest")
> ExportRequestType request);
> }
>
> service impl
>
> package com.arevatd.mmi.business.services.support;
>
> import java.util.logging.Logger;
>
> import javax.jws.WebService;
> import javax.xml.namespace.QName;
> import javax.xml.soap.SOAPException;
> import javax.xml.soap.SOAPFactory;
> import javax.xml.soap.SOAPFault;
> import javax.xml.ws.BindingType;
> import javax.xml.ws.soap.SOAPFaultException;
>
> import com.arevatd.mmi.business.services.CmiModelDataExportWs;
>
> import com.areva.mmi.xml.ExportRequestType;
>
>
> @WebService(endpointInterface="com.arevatd.mmi.business.services.CmiModelDataExportWs",
> name="ExportRequestPortType",
> portName="ExportRequestPort",
> serviceName="ExportRequestService",
> targetNamespace="http://www.areva.com/mmi/wsdl")
> @BindingType(value=javax.xml.ws.soap.SOAPBinding.SOAP11HTTP_BINDING)
> public class CmiModelDataExportWsImpl implements CmiModelDataExportWs {
> private final Logger logger =
> Logger.getLogger(this.getClass().getName());
>
> public void exportCmiModelData(ExportRequestType request) {
> logger.info("Application=" + request.getApplication());
> logger.info("Environment=" + request.getEnvironment());
> logger.info("FilePath=" + request.getFilePath());
> logger.info("CSMRequestId=" + request.getCSMRequestId());
>
> try {
> SOAPFactory soapFactory = SOAPFactory.newInstance();
> SOAPFault fault = soapFactory.createFault("Hello",
> new QName("http://schemas.xmlsoap.org/soap/envelope/",
> "Client"));
> fault.setFaultString("Juan");
>
> throw new SOAPFaultException(fault);
> } catch(SOAPException se) {
> }
> }
>
> public void exportCmiModelDataV2(ExportRequestType request) {
> logger.info("V2Application=" + request.getApplication());
> logger.info("V2Environment=" + request.getEnvironment());
> logger.info("V2FilePath=" + request.getFilePath());
> logger.info("V2CSMRequestId=" + request.getCSMRequestId());
>
> try {
> SOAPFactory soapFactory = SOAPFactory.newInstance();
> SOAPFault fault = soapFactory.createFault("Hello",
> new QName("http://schemas.xmlsoap.org/soap/envelope/",
> "Client"));
> fault.setFaultString("V2Juan");
>
> throw new SOAPFaultException(fault);
> } catch(SOAPException se) {
> }
> }
> }
>
> request1
>
> Host: localhost:8080
> Content-Length: 427
> SOAPAction: "processExport"
> User-Agent: Jakarta Commons-HttpClient/3.0.1
> Content-Type: text/xml;charset=UTF-8
>
> <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
> xmlns:ns="http://www.areva.com/mmi/xml">
> <soapenv:Header/>
> <soapenv:Body>
> <ns:ExportRequest>
> <ns:Application>?</ns:Application>
> <ns:Environment>?</ns:Environment>
> <ns:FilePath>?</ns:FilePath>
> <ns:CSMRequestId>?</ns:CSMRequestId>
> </ns:ExportRequest>
> </soapenv:Body>
> </soapenv:Envelope>
>
> request2
>
> Host: localhost:8080
> Content-Length: 427
> SOAPAction: "processExportV2"
> User-Agent: Jakarta Commons-HttpClient/3.0.1
> Content-Type: text/xml;charset=UTF-8
>
> <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
> xmlns:ns="http://www.areva.com/mmi/xml">
> <soapenv:Header/>
> <soapenv:Body>
> <ns:ExportRequest>
> <ns:Application>?</ns:Application>
> <ns:Environment>?</ns:Environment>
> <ns:FilePath>?</ns:FilePath>
> <ns:CSMRequestId>?</ns:CSMRequestId>
> </ns:ExportRequest>
> </soapenv:Body>
> </soapenv:Envelope>
>
--
Christian Schneider
---
http://www.liquid-reality.de