Hi,
I've successfully used attachments to pass one input String parameter and
get a String returned, for example:
class MultipleSOAPAttachmentsService, method DataHandler
reverseString(DataHandler)
But when I try to pass two input String parameters, for example:
class MultipleSOAPAttachmentsService, method DataHandler
concatenateStrings(DataHandler, DataHandler)
The RPCProvider(JavaProvider).invoke(MessageContext) throws an
AxisFault with detailMessage "No such method 'concatenateStrings'", even
though when I run AxisServlet it shows that
MultipleSOAPAttachmentsService defines functions reverseString and
concatenateStrings.
I think the parameter matching part of the invocation is not matching the
two attachments I've sent in with the call with the two parameters defined
for the service. At first I thought I got the containment relationship wrong
when I added the second attachment. But the SOAP message seems to
be constructed correctly.
Here's what TCPMON shows for the successful reverseString call and for
the unsuccessful concatenateStrings call, followed by the deployment
wsdd.
Anyone know what I'm doing wrong here? Thanks!
. . Phil
_______________________________________
reverseString request
<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soapenv:Body>
<reverseString xmlns="">
<source href="cid:CC92E5192DD9117AA5B5CA9362A0D8F5" xmlns=""/>
</reverseString>
</soapenv:Body>
</soapenv:Envelope>
------=_Part_0_1499478125.1059751870377
Content-Type: text/plain
Content-Transfer-Encoding: binary
Content-Id: <CC92E5192DD9117AA5B5CA9362A0D8F5>
How about this?
------=_Part_0_1499478125.1059751870377--
reverseString response
<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soapenv:Body>
<reverseStringResponse
soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<returnqname href="cid:9D1D602142978B268B75A35D37982F16"
xmlns:ns1="MultipleSOAPAttachmentsService"/>
</reverseStringResponse>
</soapenv:Body>
</soapenv:Envelope>
--1927951303.1059751871008.JavaMail.javamailuser.localhost
Content-Type: text/plain
Content-Transfer-Encoding: binary
Content-Id: <9D1D602142978B268B75A35D37982F16>
?siht tuoba woH
--1927951303.1059751871008.JavaMail.javamailuser.localhost--
_______________________________________
concatenateStrings request
<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soapenv:Body>
<concatenateStrings xmlns="">
<source href="cid:908314EFC7686E7DC9CA8975989F5405" xmlns=""/>
<source href="cid:B53BFC8397913CEC44BB00C929C73D34" xmlns=""/>
</concatenateStrings>
</soapenv:Body>
</soapenv:Envelope>
------=_Part_0_653523790.1059753343405
Content-Type: text/plain
Content-Transfer-Encoding: binary
Content-Id: <908314EFC7686E7DC9CA8975989F5405>
One
------=_Part_0_653523790.1059753343405
Content-Type: text/plain
Content-Transfer-Encoding: binary
Content-Id: <B53BFC8397913CEC44BB00C929C73D34>
Two
------=_Part_0_653523790.1059753343405--
concatenateStrings response
<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soapenv:Body>
<soapenv:Fault>
<faultcode>Server.userException</faultcode>
<faultstring>No such operation 'concatenateStrings'</faultstring>
<detail/>
</soapenv:Fault>
</soapenv:Body>
</soapenv:Envelope>
_______________________________________
wsdd
<deployment xmlns="http://xml.apache.org/axis/wsdd/"
xmlns:java="http://xml.apache.org/axis/wsdd/providers/java"
xmlns:ns1="MultipleSOAPAttachmentsService">
<service name="MultipleSOAPAttachmentsService"
provider="java:RPC">
<parameter name="className"
value="us.pooch.soaptest.attachments.soapservice.MultipleSOAPAttachme
ntsService" />
<parameter name="allowedMethods"
value="reverseString concatenateStrings" />
<operation name="reverseString"
returnQName="returnqname" returnType="ns1:DataHandler">
<parameter name="dh"
type="ns1:DataHandler" />
</operation>
<operation name="concatenateStrings"
returnQName="returnqname" returnType="ns1:DataHandler">
<parameter name="dh1"
type="ns1:DataHandler" />
<parameter name="dh2"
type="ns1:DataHandler" />
</operation>
<typeMapping
deserializer="org.apache.axis.encoding.ser.JAFDataHandlerDeserializerFact
ory" languageSpecificType="java:javax.activation.DataHandler"
qname="ns1:DataHandler"
serializer="org.apache.axis.encoding.ser.JAFDataHandlerSerializerFactory"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
</service>
</deployment>