Hi Guy,
Well, that's exaxtly my problem, I can't. The WSDL does not describe the complete structure, but includes an xsd to evaluate runtime what has been sent. Something like this:

......
     <s:element name="CreateElements">
       <s:complexType>
         <s:sequence>
           <s:element minOccurs="0" maxOccurs="1" name="elements">
             <s:complexType>
               <s:sequence>
                 <s:any namespace="http://tempuri.org/NewElement.xsd"; />
               </s:sequence>
             </s:complexType>
           </s:element>
         </s:sequence>
       </s:complexType>
     </s:element>
.....

with NewElement.xsd:
 <xs:element name="NewElement">
  <xs:complexType>
   <xs:choice maxOccurs="unbounded">
    <xs:element name="NewElementTbl">
     <xs:complexType>
      <xs:sequence>
       <xs:element name="MAC" type="xs:string" minOccurs="0"/>
       <xs:element name="ParentID" type="xs:integer" minOccurs="0"/>
       <xs:element name="TemplateName" type="xs:string" minOccurs="0"/>
       <xs:element name="Type" type="xs:string" minOccurs="0"/>
       <xs:element name="IP" type="xs:string" minOccurs="0"/>
       <xs:element name="ClonedMAC" type="xs:string" minOccurs="0"/>
      </xs:sequence>
     </xs:complexType>
    </xs:element>
   </xs:choice>
  </xs:complexType>
 </xs:element>


and .NET expects a soap structure like this with a schema and diffgram element extra:

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/";
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
xmlns:xsd="http://www.w3.org/2001/XMLSchema";>
<soap:Body>
 <CreateElements xmlns="http://42Networks.com/cpe/DRGMgr";>
  <elements>
   <xs:schema id="NewElement"
    targetNamespace="http://tempuri.org/NewElement.xsd";
    xmlns:mstns="http://tempuri.org/NewElement.xsd";
    xmlns="http://tempuri.org/NewElement.xsd";
    xmlns:xs="http://www.w3.org/2001/XMLSchema";
    xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"
    attributeFormDefault="qualified" elementFormDefault="qualified">
    <xs:element name="NewElement"
     msdata:IsDataSet="true">
     <xs:complexType>
      <xs:choice maxOccurs="unbounded">
       <xs:element name="NewElementTbl">
        <xs:complexType>
         <xs:sequence>
          <xs:element name="MAC"
           type="xs:string" minOccurs="0" />
          <xs:element name="ParentID"
           type="xs:long" minOccurs="0" />
          <xs:element name="TemplateName"
           type="xs:string" minOccurs="0" />
          <xs:element name="Type"
           type="xs:string" minOccurs="0" />
          <xs:element name="IP"
           type="xs:string" minOccurs="0" />
          <xs:element name="ClonedMAC"
           type="xs:string" minOccurs="0" />
         </xs:sequence>
        </xs:complexType>
       </xs:element>
      </xs:choice>
     </xs:complexType>
    </xs:element>
   </xs:schema>
   <diffgr:diffgram
    xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"
    xmlns:diffgr="urn:schemas-microsoft-com:xml-diffgram-v1">
    <NewElement
     xmlns="http://tempuri.org/NewElement.xsd";>
     <NewElementTbl diffgr:id="NewElementTbl1"
      msdata:rowOrder="0" diffgr:hasChanges="inserted">
      <MAC>22:11:11:11:11:11</MAC>
      <ParentID>1</ParentID>
      <TemplateName>
       Template: DRG-11 [H323]
      </TemplateName>
      <Type>DRG-11 [H323]</Type>
      <IP>0.0.0.0</IP>
     </NewElementTbl>
    </NewElement>
   </diffgr:diffgram>
  </elements>
 </CreateElements>
</soap:Body>
</soap:Envelope>

I tried to add the missing elements in the WSDL by hand, but this does not result in the expected soap call. As the structure with namespaces and so is similarfor all .NET DataSets I hoped that someone already made some Serializer or WSDL that will do the trick...

Richard


From: Guy Rixon <[EMAIL PROTECTED]>
Reply-To: [email protected]
To: [email protected]
Subject: Re: .NET DataSet in Axis
Date: Tue, 30 Aug 2005 08:56:26 +0100 (BST)

Can you not generate beans for the types in question using WSDL2Java?

On Tue, 30 Aug 2005, Richard Schrauwen wrote:

> Hi,
>
> I was wondering if there is any progress in the .NET - Axis
> interoperability, especially regarding the support of .NET DataSet in axis.
> The server I am talking to only accepts a DataSet with fields like schema
> and diffgram. I know, the .NET side should not expose such internal
> datatypes to the outside world, but 'they' won't change it. At least not for
> an acceptable price to pay....
>
> I've seen in my searches that many mortal souls have encountered the same
> problem, only no solutions appeared on my screen. Does anyone know about a > Serializer for DataSets or another way to create a DataSet compatible soap
> request?
>
> cheers,
> Richard
>
>

Guy Rixon                                       [EMAIL PROTECTED]
Institute of Astronomy                          Tel: +44-1223-337542
Madingley Road, Cambridge, UK, CB3 0HA          Fax: +44-1223-337523


Reply via email to