I have a RPC service:

public class PersonsService {

        public void put(Person p){
                ...
        }

As serializer for Person I use BeanSerializer.

Client sends a message (take a care, there is only one parameter type
Person):

<?xml version='1.0' encoding='UTF-8'?>
<SOAP-ENV:Envelope
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/";
xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance";
xmlns:xsd="http://www.w3.org/1999/XMLSchema";>
<SOAP-ENV:Body>
<ns1:put xmlns:ns1="urn:PersonsService"
SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/";>
<person xmlns:ns2="urn:dk.test.soap.rpc" xsi:type="ns2:person">
<email xsi:type="xsd:string">[EMAIL PROTECTED]</email>
<firstname xsi:type="xsd:string">John</firstname>
<id xsi:type="xsd:long">1</id>
<name xsi:type="xsd:string">Lehnon</name>
</person>
</ns1:put>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>

Then I'v got an error message:

<?xml version='1.0' encoding='UTF-8'?>
<SOAP-ENV:Envelope
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/";
xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance";
xmlns:xsd="http://www.w3.org/1999/XMLSchema";>
<SOAP-ENV:Body>
<SOAP-ENV:Fault>
<faultcode>SOAP-ENV:Server</faultcode>
<faultstring>Exception while handling service request:
dk.test.soap.rpc.PersonsService.put
(org.apache.soap.Envelope,org.apache.soap.rpc.SOAPContext,org.apache.soap.rpc.SOAPContext)
-- no signature match</faultstring>
<faultactor>/soap/servlet/messagerouter</faultactor>
<detail>
</detail>
</SOAP-ENV:Fault>

Why messagerouter is looking for put(Envelope,SOAPContext,SOAPContext) ?
Its run well on Linux + Tomcat, doesn'n run on Windows 2000 + Weblogic 5.1
Can it be a probem with CLASSPATH?


Radek Wisniewski

Reply via email to