---------------
Environments: 
Machine 1: Apache SOAP2.3.1 (Works as SOAP Server), Tomcat4.1,  JDK1.3.1,
Windows2K
Machine 2: MS SOAP2 (Works as SOAP Client), Window2K 
==============
When Apache Soap works as Server and MS SOAP works as client, if the
invoking methods contains no parameters or returns such as void foo(void),
it works properly.

When Apache Soap works as Server, MS SOAP2 works as Server, there is
parameter in invoking methods such as void foo(string param) ,it works
improperly.

Please see my code and configuration:
1. Web Services Method:
package hello;
public class HelloParam {
  public void sayHelloTo(String name)  {
    System.out.println("sayHelloTo() have-param & no-return-value");
  }
}
-------------------------------
2. My Deloy Configuration File
<isd:service xmlns:isd="http://xml.apache.org/xml-soap/deployment";
id="WS:HaveParam">
  <isd:provider type="java" scope="Application" methods="sayHelloTo">
    <isd:java class="hello.HelloParam" static="false"/>
  </isd:provider>
 
<isd:faultListener>org.apache.soap.server.DOMFaultListener</isd:faultListene
r>
  <isd:mappings>
    <isd:map encodingStyle="http://schemas.xmlsoap.org/soap/encoding/";
xmlns:x="WS:HaveParam" qname="x:A"
 
xml2JavaClassName="org.apache.soap.encoding.soapenc.StringDeserializer"/>
   </isd:mappings>    
</isd:service>

Question: In some files I see xmlns:x=""( null), but it does not work here.
When execute: 
java org.apache.soap.server.ServiceManagerClient *URI* deploy **.xml
An error occurs. 
--------------------
3. SOAP Client (Simplified Code)
 Option Explicit
 Dim SC
 Dim Res
 Set SC = CreateObject("MSSOAP.SoapClient")
 Call SC.mssoapinit("HelloParam.wsdl",  "", "", "")
 SC.sayHelloTo("aa")
-----------------------
4. HelloParam.wsdl file
<?xml version='1.0' ?> 
<definitions  name='HelloParam' targetNamespace='WS:HaveParam'
        xmlns='http://schemas.xmlsoap.org/wsdl/' 
        xmlns:tns='WS:HaveParam_WSDL'
        xmlns:se='http://schemas.xmlsoap.org/soap/encoding/' 
        xmlns:xsd='http://www.w3.org/2000/10/XMLSchema'
        xmlns:so='http://schemas.xmlsoap.org/wsdl/soap/'>

  <message name='HelloParam.RetString'>
      <part name='A' type='xsd:string'/>
  </message>
  <message name='HelloParam.RetStringResponse'>
  </message>
  <portType name='HelloParamSoapPort'>
    <operation name='sayHelloTo' parameterOrder='A'>
      <input message='tns:HelloParam.RetString' />
      <output message='tns:HelloParam.RetStringResponse' />
    </operation>
  </portType>
  
   <binding name='HelloParam.Binding' type='tns:HelloParamSoapPort'>
      <so:binding style='rpc'
transport='http://schemas.xmlsoap.org/soap/http' />
      <operation name='sayHelloTo'>
          <so:operation soapAction=''/>
      <input>
        <so:body use="encoded" 
                   namespace="WS:HaveParam" 
 
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
      </input>
      <output>
        <so:body use="encoded" 
                   namespace="WS:HaveParam"
 
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
      </output>      
      </operation>
   </binding>

   <service name='HelloParam'>
      <port name='HelloParamSoapPort' binding='tns:HelloParam.Binding'>
          <so:address location='http://sniff:8080/soap/servlet/rpcrouter' />
      </port>
   </service>
</definitions>
==========================
Error message:
No Deserializer found to deserialize a ':name' using encoding style
'http://schemas.xmlsoap.org/soap/encoding/'.

Please help me!


--
To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>

Reply via email to