Hi,
I'm ser/deserilizing javax.management.ObjectName,
when my client is Axis, everything is ok ,
but I can't call the web service method from
a .Net client,

in axis the request is :
<soapenv:Envelope ...>

 <soapenv:Body>
  <ns1:isRegistered ...>
   <arg1 href="#id0"/>
  </ns1:isRegistered>
  <multiRef id="id0" soapenc:root="0"
soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/";
   xsi:type="ns2:ObjectName"
xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/";

xmlns:ns2="http://mx4j.sourceforge.net/soap/v1.0";>Connector:protocol=SOAP</m
ultiRef>
 </soapenv:Body>

</soapenv:Envelope>
I serilize the object as a string value (ObjectName name = new
ObjectName("Connector:protocol=SOAP")).

How can I define the type of my class in wsdl so that .Net can generate
the right stub for me?
I think that I should define a  complex type such as this:
      <xsd:complexType name="ObjectName">
        <simpleContent>
          <extension base="xsd:string">
          </extension>
        </simpleContent>
      </xsd:complexType>
but I didn't defined any attribute , so .Net generate such
as this:
/// <remarks/>
[System.Xml.Serialization.SoapTypeAttribute("ObjectName",
"http://mx4j.sourceforge.net/soap/v1.0";)]
public class ObjectName{
}

and when requesting it sends:
....
<tns:isRegistered>
 <objectName href="#id1" />
</tns:isRegistered>
<tns:ObjectName id="id1" xsi:type="tns:ObjectName" />
</soap:Body>
</soap:Envelope>
since generated ObjectName type by .Net has no attributes so it doesn't send
any value,
How can I define the type so that It correctly generate the class and
sends object's value without adding any child attribute? such as this:
<tns:isRegistered>
 <objectName href="#id1" />
</tns:isRegistered>
<tns:ObjectName id="id1" xsi:type="tns:ObjectName"
>Connector:protocol=SOAP</tns:ObjectName>


Any help is greatly appreciated.


Best Regards
Alireza Thaerkordi







Reply via email to