Interoperability problem with .NET web services when using WebParam mode.OUT
----------------------------------------------------------------------------
Key: XFIRE-1031
URL: http://jira.codehaus.org/browse/XFIRE-1031
Project: XFire
Issue Type: Bug
Components: Core
Affects Versions: 1.2.6
Environment: Windows XP SP2 jdk 1.5.0_10
Reporter: Julien DUMETIER
Assignee: Dan Diephouse
Priority: Blocker
Attachments: service.zip
The order of the return parameters are not the same as described in the WSDL.
In that case the parameters "strOutMessageIDs" and "return" when calling the
method "SendTextSMS".
You will find the service client generated by the xfire eclipse plugin 1.2.6
and a testcase as an attachment.
I made a copy of an exchange below.
The WSDL is accessible from the URL :
http://xml.redcoal.com/soapserver.dll/wsdl/ISoapServer
When the service respond xfire throw this exception :
org.codehaus.xfire.XFireRuntimeException: Could not invoke service.. Nested
exception is org.codehaus.xfire.fault.XFireFault: Parameter return does not
exist!
org.codehaus.xfire.fault.XFireFault: Parameter return does not exist!
at
org.codehaus.xfire.service.binding.RPCBinding.readMessage(RPCBinding.java:87)
at
org.codehaus.xfire.soap.handler.SoapBodyHandler.invoke(SoapBodyHandler.java:42)
at
org.codehaus.xfire.handler.HandlerPipeline.invoke(HandlerPipeline.java:131)
at org.codehaus.xfire.client.Client.onReceive(Client.java:406)
at
org.codehaus.xfire.transport.http.HttpChannel.sendViaClient(HttpChannel.java:139)
at
org.codehaus.xfire.transport.http.HttpChannel.send(HttpChannel.java:48)
at
org.codehaus.xfire.handler.OutMessageSender.invoke(OutMessageSender.java:26)
at
org.codehaus.xfire.handler.HandlerPipeline.invoke(HandlerPipeline.java:131)
at org.codehaus.xfire.client.Invocation.invoke(Invocation.java:79)
at org.codehaus.xfire.client.Invocation.invoke(Invocation.java:114)
at org.codehaus.xfire.client.Client.invoke(Client.java:336)
at
org.codehaus.xfire.client.XFireProxy.handleRequest(XFireProxy.java:77)
at org.codehaus.xfire.client.XFireProxy.invoke(XFireProxy.java:57)
at $Proxy8.sendTextSMS(Unknown Source)
at com.test.SmsServiceTestCase.testClient(SmsServiceTestCase.java:11)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at junit.framework.TestCase.runTest(TestCase.java:154)
at junit.framework.TestCase.runBare(TestCase.java:127)
at junit.framework.TestResult$1.protect(TestResult.java:106)
at junit.framework.TestResult.runProtected(TestResult.java:124)
at junit.framework.TestResult.run(TestResult.java:109)
at junit.framework.TestCase.run(TestCase.java:118)
at junit.framework.TestSuite.runTest(TestSuite.java:208)
at junit.framework.TestSuite.run(TestSuite.java:203)
at
org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestReference.run(JUnit3TestReference.java:128)
at
org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:460)
at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:673)
at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:386)
at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:196)
Here is a copy of that WSDL :
<?xml version="1.0"?>
<definitions xmlns="http://schemas.xmlsoap.org/wsdl/"
xmlns:xs="http://www.w3.org/2001/XMLSchema" name="ISOAPServerservice"
targetNamespace="http://tempuri.org/" xmlns:tns="http://tempuri.org/"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/">
<message name="SendSMS2Request">
<part name="strInSerialNo" type="xs:string"/>
<part name="strInSMSKey" type="xs:string"/>
<part name="strInRecipients" type="xs:string"/>
<part name="strInContent1" type="xs:base64Binary"/>
<part name="strInContent2" type="xs:string"/>
<part name="strInOriginator" type="xs:string"/>
<part name="strInReplyEmail" type="xs:string"/>
<part name="strInScheduledUTCDateTime" type="xs:string"/>
<part name="iInMessageType" type="xs:int"/>
<part name="iInOptions" type="xs:int"/>
<part name="strOutMessageIDs" type="xs:string"/>
</message>
<message name="SendSMS2Response">
<part name="strOutMessageIDs" type="xs:string"/>
<part name="return" type="xs:int"/>
</message>
<message name="SendTextSMSRequest">
<part name="strInSerialNo" type="xs:string"/>
<part name="strInSMSKey" type="xs:string"/>
<part name="strInRecipients" type="xs:string"/>
<part name="strInMessageText" type="xs:string"/>
<part name="strInReplyEmail" type="xs:string"/>
<part name="strInOriginator" type="xs:string"/>
<part name="iInType" type="xs:int"/>
<part name="strOutMessageIDs" type="xs:string"/>
</message>
<message name="SendTextSMSResponse">
<part name="strOutMessageIDs" type="xs:string"/>
<part name="return" type="xs:int"/>
</message>
<message name="SendBinarySMSRequest">
<part name="strInSerialNo" type="xs:string"/>
<part name="strInSMSKey" type="xs:string"/>
<part name="strInRecipients" type="xs:string"/>
<part name="strInBinaryContent" type="xs:base64Binary"/>
<part name="strInExtraParam" type="xs:string"/>
<part name="strInReplyEmail" type="xs:string"/>
<part name="iInType" type="xs:int"/>
<part name="strOutMessageIDs" type="xs:string"/>
</message>
<message name="SendBinarySMSResponse">
<part name="strOutMessageIDs" type="xs:string"/>
<part name="return" type="xs:int"/>
</message>
<message name="SendBinarySMSByContentRequest">
<part name="strInSerialNo" type="xs:string"/>
<part name="strInSMSKey" type="xs:string"/>
<part name="strInRecipients" type="xs:string"/>
<part name="strInBinaryContent" type="xs:base64Binary"/>
<part name="strInExtraParam" type="xs:string"/>
<part name="strInReplyEmail" type="xs:string"/>
<part name="iInContentType" type="xs:int"/>
<part name="iInSourceType" type="xs:int"/>
<part name="strOutMessageIDs" type="xs:string"/>
</message>
<message name="SendBinarySMSByContentResponse">
<part name="strOutMessageIDs" type="xs:string"/>
<part name="return" type="xs:int"/>
</message>
<message name="SendWAPSIRequest">
<part name="strInSerialNo" type="xs:string"/>
<part name="strInSMSKey" type="xs:string"/>
<part name="strInRecipients" type="xs:string"/>
<part name="strInURL" type="xs:string"/>
<part name="strInContent" type="xs:string"/>
<part name="strInReplyEmail" type="xs:string"/>
<part name="strOutMessageIDs" type="xs:string"/>
</message>
<message name="SendWAPSIResponse">
<part name="strOutMessageIDs" type="xs:string"/>
<part name="return" type="xs:int"/>
</message>
<message name="CreateMMSRequest">
<part name="strInSerialNo" type="xs:string"/>
<part name="strInSMSKey" type="xs:string"/>
<part name="strInOutTransactionID" type="xs:string"/>
</message>
<message name="CreateMMSResponse">
<part name="strInOutTransactionID" type="xs:string"/>
<part name="return" type="xs:int"/>
</message>
<message name="AddMMSContentRequest">
<part name="strInSerialNo" type="xs:string"/>
<part name="strInSMSKey" type="xs:string"/>
<part name="strInTransactionID" type="xs:string"/>
<part name="strInContent" type="xs:base64Binary"/>
<part name="strInContentType" type="xs:string"/>
<part name="strInContentLocationOrID" type="xs:string"/>
</message>
<message name="AddMMSContentResponse">
<part name="return" type="xs:int"/>
</message>
<message name="AddBase64MMSContentRequest">
<part name="strInSerialNo" type="xs:string"/>
<part name="strInSMSKey" type="xs:string"/>
<part name="strInTransactionID" type="xs:string"/>
<part name="strInBase64Content" type="xs:string"/>
<part name="strInContentType" type="xs:string"/>
<part name="strInContentLocationOrID" type="xs:string"/>
</message>
<message name="AddBase64MMSContentResponse">
<part name="return" type="xs:int"/>
</message>
<message name="SendMMSRequest">
<part name="strInSerialNo" type="xs:string"/>
<part name="strInSMSKey" type="xs:string"/>
<part name="strInTransactionID" type="xs:string"/>
<part name="strInRecipients" type="xs:string"/>
<part name="strInSubject" type="xs:string"/>
<part name="strInReplyEmail" type="xs:string"/>
<part name="strOutMessageIDs" type="xs:string"/>
</message>
<message name="SendMMSResponse">
<part name="strOutMessageIDs" type="xs:string"/>
<part name="return" type="xs:int"/>
</message>
<message name="SendMobileContentRequest">
<part name="strInSerialNo" type="xs:string"/>
<part name="strInSMSKey" type="xs:string"/>
<part name="strInRecipients" type="xs:string"/>
<part name="strInCodeID" type="xs:string"/>
<part name="strInExtraParam" type="xs:string"/>
<part name="strInReplyEmail" type="xs:string"/>
<part name="iInOptions" type="xs:int"/>
<part name="strOutMessageIDs" type="xs:string"/>
</message>
<message name="SendMobileContentResponse">
<part name="strOutMessageIDs" type="xs:string"/>
<part name="return" type="xs:int"/>
</message>
<message name="GetMobileContentPreviewURLRequest">
<part name="strInSerialNo" type="xs:string"/>
<part name="strInSMSKey" type="xs:string"/>
<part name="strInCodeID" type="xs:string"/>
<part name="strOutURL" type="xs:string"/>
</message>
<message name="GetMobileContentPreviewURLResponse">
<part name="strOutURL" type="xs:string"/>
<part name="return" type="xs:int"/>
</message>
<message name="CheckMessageStatusRequest">
<part name="strInSerialNo" type="xs:string"/>
<part name="strInSMSKey" type="xs:string"/>
<part name="strInMessageIDs" type="xs:string"/>
<part name="strOutMessageStatus" type="xs:string"/>
</message>
<message name="CheckMessageStatusResponse">
<part name="strOutMessageStatus" type="xs:string"/>
<part name="return" type="xs:int"/>
</message>
<message name="GetPropertyPageRequest">
<part name="strInSerialNo" type="xs:string"/>
<part name="strInSMSKey" type="xs:string"/>
<part name="strOutContent" type="xs:string"/>
<part name="bFirstUse" type="xs:boolean"/>
</message>
<message name="GetPropertyPageResponse">
<part name="strOutContent" type="xs:string"/>
<part name="return" type="xs:int"/>
</message>
<message name="GetCreditsLeftRequest">
<part name="strInSerialNo" type="xs:string"/>
<part name="strInSMSKey" type="xs:string"/>
<part name="dOutCreditsLeft" type="xs:double"/>
</message>
<message name="GetCreditsLeftResponse">
<part name="dOutCreditsLeft" type="xs:double"/>
<part name="return" type="xs:int"/>
</message>
<message name="GetLicenseInformationRequest">
<part name="strInSerialNo" type="xs:string"/>
<part name="strInSMSKey" type="xs:string"/>
<part name="strOutLicenseInfo" type="xs:string"/>
</message>
<message name="GetLicenseInformationResponse">
<part name="strOutLicenseInfo" type="xs:string"/>
<part name="return" type="xs:int"/>
</message>
<message name="GetIncomingMessageRequest">
<part name="strInSerialNo" type="xs:string"/>
<part name="strInSMSKey" type="xs:string"/>
<part name="strInReplyEmail" type="xs:string"/>
<part name="strOutSender" type="xs:string"/>
<part name="strOutMessageContent" type="xs:string"/>
<part name="strOutTimeStamp" type="xs:string"/>
<part name="iOutMessagesLeft" type="xs:int"/>
</message>
<message name="GetIncomingMessageResponse">
<part name="strOutSender" type="xs:string"/>
<part name="strOutMessageContent" type="xs:string"/>
<part name="strOutTimeStamp" type="xs:string"/>
<part name="iOutMessagesLeft" type="xs:int"/>
<part name="return" type="xs:int"/>
</message>
<message name="EnterScheduleRequest">
<part name="strInSerialNo" type="xs:string"/>
<part name="strInSMSKey" type="xs:string"/>
<part name="strInRecipients" type="xs:string"/>
<part name="strInMessageText" type="xs:string"/>
<part name="strInReplyEmail" type="xs:string"/>
<part name="strInOriginator" type="xs:string"/>
<part name="dInDateTime" type="xs:double"/>
<part name="dInRefTime" type="xs:double"/>
<part name="iInType" type="xs:int"/>
</message>
<message name="EnterScheduleResponse">
<part name="return" type="xs:int"/>
</message>
<message name="EnterScheduleExtRequest">
<part name="strInSerialNo" type="xs:string"/>
<part name="strInSMSKey" type="xs:string"/>
<part name="strInRecipients" type="xs:string"/>
<part name="strInMessageText" type="xs:string"/>
<part name="strInReplyEmail" type="xs:string"/>
<part name="strInOriginator" type="xs:string"/>
<part name="dInDateTime" type="xs:double"/>
<part name="dInRefTime" type="xs:double"/>
<part name="iInType" type="xs:int"/>
<part name="strOutMessageIDs" type="xs:string"/>
</message>
<message name="EnterScheduleExtResponse">
<part name="strOutMessageIDs" type="xs:string"/>
<part name="return" type="xs:int"/>
</message>
<message name="DeleteScheduleRequest">
<part name="strInSerialNo" type="xs:string"/>
<part name="strInSMSKey" type="xs:string"/>
<part name="strInMessageIDs" type="xs:string"/>
</message>
<message name="DeleteScheduleResponse">
<part name="return" type="xs:int"/>
</message>
<message name="CreateGroupRequest">
<part name="strInSerialNo" type="xs:string"/>
<part name="strInSMSKey" type="xs:string"/>
<part name="strInGroupName" type="xs:string"/>
<part name="strInGroupMembers" type="xs:string"/>
<part name="iOutMembersCreated" type="xs:int"/>
</message>
<message name="CreateGroupResponse">
<part name="iOutMembersCreated" type="xs:int"/>
<part name="return" type="xs:int"/>
</message>
<message name="GetListNamesRequest">
<part name="strInSerialNo" type="xs:string"/>
<part name="strInSMSKey" type="xs:string"/>
<part name="strOutListNames" type="xs:string"/>
</message>
<message name="GetListNamesResponse">
<part name="strOutListNames" type="xs:string"/>
<part name="return" type="xs:int"/>
</message>
<message name="GetListEntriesRequest">
<part name="strInSerialNo" type="xs:string"/>
<part name="strInSMSKey" type="xs:string"/>
<part name="iInListID" type="xs:int"/>
<part name="strOutListEntries" type="xs:string"/>
</message>
<message name="GetListEntriesResponse">
<part name="strOutListEntries" type="xs:string"/>
<part name="return" type="xs:int"/>
</message>
<message name="RegisterAccountRequest">
<part name="strInSerialNo" type="xs:string"/>
<part name="strInSMSKey" type="xs:string"/>
<part name="strInName" type="xs:string"/>
<part name="strInEmailAddress" type="xs:string"/>
<part name="strInOrganization" type="xs:string"/>
<part name="strInPhone" type="xs:string"/>
<part name="iInCountryID" type="xs:int"/>
<part name="strOutSMSKey" type="xs:string"/>
</message>
<message name="RegisterAccountResponse">
<part name="strOutSMSKey" type="xs:string"/>
<part name="return" type="xs:int"/>
</message>
<message name="RedWebServiceVersionRequest"/>
<message name="RedWebServiceVersionResponse">
<part name="return" type="xs:string"/>
</message>
<portType name="ISOAPServer">
<operation name="SendSMS2">
<input message="tns:SendSMS2Request"/>
<output message="tns:SendSMS2Response"/>
</operation>
<operation name="SendTextSMS">
<input message="tns:SendTextSMSRequest"/>
<output message="tns:SendTextSMSResponse"/>
</operation>
<operation name="SendBinarySMS">
<input message="tns:SendBinarySMSRequest"/>
<output message="tns:SendBinarySMSResponse"/>
</operation>
<operation name="SendBinarySMSByContent">
<input message="tns:SendBinarySMSByContentRequest"/>
<output message="tns:SendBinarySMSByContentResponse"/>
</operation>
<operation name="SendWAPSI">
<input message="tns:SendWAPSIRequest"/>
<output message="tns:SendWAPSIResponse"/>
</operation>
<operation name="CreateMMS">
<input message="tns:CreateMMSRequest"/>
<output message="tns:CreateMMSResponse"/>
</operation>
<operation name="AddMMSContent">
<input message="tns:AddMMSContentRequest"/>
<output message="tns:AddMMSContentResponse"/>
</operation>
<operation name="AddBase64MMSContent">
<input message="tns:AddBase64MMSContentRequest"/>
<output message="tns:AddBase64MMSContentResponse"/>
</operation>
<operation name="SendMMS">
<input message="tns:SendMMSRequest"/>
<output message="tns:SendMMSResponse"/>
</operation>
<operation name="SendMobileContent">
<input message="tns:SendMobileContentRequest"/>
<output message="tns:SendMobileContentResponse"/>
</operation>
<operation name="GetMobileContentPreviewURL">
<input message="tns:GetMobileContentPreviewURLRequest"/>
<output message="tns:GetMobileContentPreviewURLResponse"/>
</operation>
<operation name="CheckMessageStatus">
<input message="tns:CheckMessageStatusRequest"/>
<output message="tns:CheckMessageStatusResponse"/>
</operation>
<operation name="GetPropertyPage">
<input message="tns:GetPropertyPageRequest"/>
<output message="tns:GetPropertyPageResponse"/>
</operation>
<operation name="GetCreditsLeft">
<input message="tns:GetCreditsLeftRequest"/>
<output message="tns:GetCreditsLeftResponse"/>
</operation>
<operation name="GetLicenseInformation">
<input message="tns:GetLicenseInformationRequest"/>
<output message="tns:GetLicenseInformationResponse"/>
</operation>
<operation name="GetIncomingMessage">
<input message="tns:GetIncomingMessageRequest"/>
<output message="tns:GetIncomingMessageResponse"/>
</operation>
<operation name="EnterSchedule">
<input message="tns:EnterScheduleRequest"/>
<output message="tns:EnterScheduleResponse"/>
</operation>
<operation name="EnterScheduleExt">
<input message="tns:EnterScheduleExtRequest"/>
<output message="tns:EnterScheduleExtResponse"/>
</operation>
<operation name="DeleteSchedule">
<input message="tns:DeleteScheduleRequest"/>
<output message="tns:DeleteScheduleResponse"/>
</operation>
<operation name="CreateGroup">
<input message="tns:CreateGroupRequest"/>
<output message="tns:CreateGroupResponse"/>
</operation>
<operation name="GetListNames">
<input message="tns:GetListNamesRequest"/>
<output message="tns:GetListNamesResponse"/>
</operation>
<operation name="GetListEntries">
<input message="tns:GetListEntriesRequest"/>
<output message="tns:GetListEntriesResponse"/>
</operation>
<operation name="RegisterAccount">
<input message="tns:RegisterAccountRequest"/>
<output message="tns:RegisterAccountResponse"/>
</operation>
<operation name="RedWebServiceVersion">
<input message="tns:RedWebServiceVersionRequest"/>
<output message="tns:RedWebServiceVersionResponse"/>
</operation>
</portType>
<binding name="ISOAPServerbinding" type="tns:ISOAPServer">
<soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
<operation name="SendSMS2">
<soap:operation soapAction="urn:SOAPServerImpl-ISOAPServer#SendSMS2"
style="rpc"/>
<input>
<soap:body use="encoded"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
namespace="urn:SOAPServerImpl-ISOAPServer"/>
</input>
<output>
<soap:body use="encoded"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
namespace="urn:SOAPServerImpl-ISOAPServer"/>
</output>
</operation>
<operation name="SendTextSMS">
<soap:operation soapAction="urn:SOAPServerImpl-ISOAPServer#SendTextSMS"
style="rpc"/>
<input>
<soap:body use="encoded"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
namespace="urn:SOAPServerImpl-ISOAPServer"/>
</input>
<output>
<soap:body use="encoded"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
namespace="urn:SOAPServerImpl-ISOAPServer"/>
</output>
</operation>
<operation name="SendBinarySMS">
<soap:operation soapAction="urn:SOAPServerImpl-ISOAPServer#SendBinarySMS"
style="rpc"/>
<input>
<soap:body use="encoded"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
namespace="urn:SOAPServerImpl-ISOAPServer"/>
</input>
<output>
<soap:body use="encoded"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
namespace="urn:SOAPServerImpl-ISOAPServer"/>
</output>
</operation>
<operation name="SendBinarySMSByContent">
<soap:operation
soapAction="urn:SOAPServerImpl-ISOAPServer#SendBinarySMSByContent" style="rpc"/>
<input>
<soap:body use="encoded"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
namespace="urn:SOAPServerImpl-ISOAPServer"/>
</input>
<output>
<soap:body use="encoded"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
namespace="urn:SOAPServerImpl-ISOAPServer"/>
</output>
</operation>
<operation name="SendWAPSI">
<soap:operation soapAction="urn:SOAPServerImpl-ISOAPServer#SendWAPSI"
style="rpc"/>
<input>
<soap:body use="encoded"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
namespace="urn:SOAPServerImpl-ISOAPServer"/>
</input>
<output>
<soap:body use="encoded"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
namespace="urn:SOAPServerImpl-ISOAPServer"/>
</output>
</operation>
<operation name="CreateMMS">
<soap:operation soapAction="urn:SOAPServerImpl-ISOAPServer#CreateMMS"
style="rpc"/>
<input>
<soap:body use="encoded"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
namespace="urn:SOAPServerImpl-ISOAPServer"/>
</input>
<output>
<soap:body use="encoded"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
namespace="urn:SOAPServerImpl-ISOAPServer"/>
</output>
</operation>
<operation name="AddMMSContent">
<soap:operation soapAction="urn:SOAPServerImpl-ISOAPServer#AddMMSContent"
style="rpc"/>
<input>
<soap:body use="encoded"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
namespace="urn:SOAPServerImpl-ISOAPServer"/>
</input>
<output>
<soap:body use="encoded"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
namespace="urn:SOAPServerImpl-ISOAPServer"/>
</output>
</operation>
<operation name="AddBase64MMSContent">
<soap:operation
soapAction="urn:SOAPServerImpl-ISOAPServer#AddBase64MMSContent" style="rpc"/>
<input>
<soap:body use="encoded"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
namespace="urn:SOAPServerImpl-ISOAPServer"/>
</input>
<output>
<soap:body use="encoded"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
namespace="urn:SOAPServerImpl-ISOAPServer"/>
</output>
</operation>
<operation name="SendMMS">
<soap:operation soapAction="urn:SOAPServerImpl-ISOAPServer#SendMMS"
style="rpc"/>
<input>
<soap:body use="encoded"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
namespace="urn:SOAPServerImpl-ISOAPServer"/>
</input>
<output>
<soap:body use="encoded"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
namespace="urn:SOAPServerImpl-ISOAPServer"/>
</output>
</operation>
<operation name="SendMobileContent">
<soap:operation
soapAction="urn:SOAPServerImpl-ISOAPServer#SendMobileContent" style="rpc"/>
<input>
<soap:body use="encoded"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
namespace="urn:SOAPServerImpl-ISOAPServer"/>
</input>
<output>
<soap:body use="encoded"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
namespace="urn:SOAPServerImpl-ISOAPServer"/>
</output>
</operation>
<operation name="GetMobileContentPreviewURL">
<soap:operation
soapAction="urn:SOAPServerImpl-ISOAPServer#GetMobileContentPreviewURL"
style="rpc"/>
<input>
<soap:body use="encoded"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
namespace="urn:SOAPServerImpl-ISOAPServer"/>
</input>
<output>
<soap:body use="encoded"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
namespace="urn:SOAPServerImpl-ISOAPServer"/>
</output>
</operation>
<operation name="CheckMessageStatus">
<soap:operation
soapAction="urn:SOAPServerImpl-ISOAPServer#CheckMessageStatus" style="rpc"/>
<input>
<soap:body use="encoded"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
namespace="urn:SOAPServerImpl-ISOAPServer"/>
</input>
<output>
<soap:body use="encoded"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
namespace="urn:SOAPServerImpl-ISOAPServer"/>
</output>
</operation>
<operation name="GetPropertyPage">
<soap:operation
soapAction="urn:SOAPServerImpl-ISOAPServer#GetPropertyPage" style="rpc"/>
<input>
<soap:body use="encoded"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
namespace="urn:SOAPServerImpl-ISOAPServer"/>
</input>
<output>
<soap:body use="encoded"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
namespace="urn:SOAPServerImpl-ISOAPServer"/>
</output>
</operation>
<operation name="GetCreditsLeft">
<soap:operation
soapAction="urn:SOAPServerImpl-ISOAPServer#GetCreditsLeft" style="rpc"/>
<input>
<soap:body use="encoded"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
namespace="urn:SOAPServerImpl-ISOAPServer"/>
</input>
<output>
<soap:body use="encoded"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
namespace="urn:SOAPServerImpl-ISOAPServer"/>
</output>
</operation>
<operation name="GetLicenseInformation">
<soap:operation
soapAction="urn:SOAPServerImpl-ISOAPServer#GetLicenseInformation" style="rpc"/>
<input>
<soap:body use="encoded"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
namespace="urn:SOAPServerImpl-ISOAPServer"/>
</input>
<output>
<soap:body use="encoded"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
namespace="urn:SOAPServerImpl-ISOAPServer"/>
</output>
</operation>
<operation name="GetIncomingMessage">
<soap:operation
soapAction="urn:SOAPServerImpl-ISOAPServer#GetIncomingMessage" style="rpc"/>
<input>
<soap:body use="encoded"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
namespace="urn:SOAPServerImpl-ISOAPServer"/>
</input>
<output>
<soap:body use="encoded"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
namespace="urn:SOAPServerImpl-ISOAPServer"/>
</output>
</operation>
<operation name="EnterSchedule">
<soap:operation soapAction="urn:SOAPServerImpl-ISOAPServer#EnterSchedule"
style="rpc"/>
<input>
<soap:body use="encoded"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
namespace="urn:SOAPServerImpl-ISOAPServer"/>
</input>
<output>
<soap:body use="encoded"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
namespace="urn:SOAPServerImpl-ISOAPServer"/>
</output>
</operation>
<operation name="EnterScheduleExt">
<soap:operation
soapAction="urn:SOAPServerImpl-ISOAPServer#EnterScheduleExt" style="rpc"/>
<input>
<soap:body use="encoded"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
namespace="urn:SOAPServerImpl-ISOAPServer"/>
</input>
<output>
<soap:body use="encoded"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
namespace="urn:SOAPServerImpl-ISOAPServer"/>
</output>
</operation>
<operation name="DeleteSchedule">
<soap:operation
soapAction="urn:SOAPServerImpl-ISOAPServer#DeleteSchedule" style="rpc"/>
<input>
<soap:body use="encoded"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
namespace="urn:SOAPServerImpl-ISOAPServer"/>
</input>
<output>
<soap:body use="encoded"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
namespace="urn:SOAPServerImpl-ISOAPServer"/>
</output>
</operation>
<operation name="CreateGroup">
<soap:operation soapAction="urn:SOAPServerImpl-ISOAPServer#CreateGroup"
style="rpc"/>
<input>
<soap:body use="encoded"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
namespace="urn:SOAPServerImpl-ISOAPServer"/>
</input>
<output>
<soap:body use="encoded"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
namespace="urn:SOAPServerImpl-ISOAPServer"/>
</output>
</operation>
<operation name="GetListNames">
<soap:operation soapAction="urn:SOAPServerImpl-ISOAPServer#GetListNames"
style="rpc"/>
<input>
<soap:body use="encoded"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
namespace="urn:SOAPServerImpl-ISOAPServer"/>
</input>
<output>
<soap:body use="encoded"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
namespace="urn:SOAPServerImpl-ISOAPServer"/>
</output>
</operation>
<operation name="GetListEntries">
<soap:operation
soapAction="urn:SOAPServerImpl-ISOAPServer#GetListEntries" style="rpc"/>
<input>
<soap:body use="encoded"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
namespace="urn:SOAPServerImpl-ISOAPServer"/>
</input>
<output>
<soap:body use="encoded"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
namespace="urn:SOAPServerImpl-ISOAPServer"/>
</output>
</operation>
<operation name="RegisterAccount">
<soap:operation
soapAction="urn:SOAPServerImpl-ISOAPServer#RegisterAccount" style="rpc"/>
<input>
<soap:body use="encoded"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
namespace="urn:SOAPServerImpl-ISOAPServer"/>
</input>
<output>
<soap:body use="encoded"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
namespace="urn:SOAPServerImpl-ISOAPServer"/>
</output>
</operation>
<operation name="RedWebServiceVersion">
<soap:operation
soapAction="urn:SOAPServerImpl-ISOAPServer#RedWebServiceVersion" style="rpc"/>
<input>
<soap:body use="encoded"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
namespace="urn:SOAPServerImpl-ISOAPServer"/>
</input>
<output>
<soap:body use="encoded"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
namespace="urn:SOAPServerImpl-ISOAPServer"/>
</output>
</operation>
</binding>
<service name="ISOAPServerservice">
<port name="ISoapServerPort" binding="tns:ISOAPServerbinding">
<soap:address
location="http://xml.redcoal.com/soapserver.dll/soap/ISoapServer"/>
</port>
</service>
</definitions>
Here is the request sent and next the response received :
POST /soapserver.dll/soap/ISoapServer HTTP/1.1
SOAPAction: "urn:SOAPServerImpl-ISOAPServer#SendTextSMS"
Content-Type: text/xml; charset=UTF-8
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; XFire Client
+http://xfire.codehaus.org)
Host: localhost
Expect: 100-continue
Content-Length: 618
<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:SendTextSMS
xmlns:ns1="http://tempuri.org/"><strInSerialNo
xmlns="">aa</strInSerialNo><strInSMSKey
xmlns="">bb</strInSMSKey><strInRecipients
xmlns="">cc</strInRecipients><strInMessageText
xmlns="">dd</strInMessageText><strInReplyEmail
xmlns="">ee</strInReplyEmail><strInOriginator
xmlns="">ff</strInOriginator><iInType xmlns="">0</iInType><strOutMessageIDs
xmlns="">gg</strOutMessageIDs></ns1:SendTextSMS></soap:Body></soap:Envelope>
The response :
HTTP/1.1 100 Continue
HTTP/1.1 200 OK
Date: Tue, 12 Jun 2007 07:58:58 GMT
Server: Microsoft-IIS/6.0
X-Powered-By: ASP.NET
Content-Type: text/xml
Content-Length: 570
Content:
X-Cache: MISS from fw.dlconsultant.net
<?xml version="1.0"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body
SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><NS1:SendTextSMSResponse
xmlns:NS1="urn:SOAPServerImpl-ISOAPServer"><return
xsi:type="xsd:int">10</return><strOutMessageIDs
xsi:type="xsd:string">gg</strOutMessageIDs></NS1:SendTextSMSResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
---------------------------------------------------------------------
To unsubscribe from this list please visit:
http://xircles.codehaus.org/manage_email