Skip to Content
avatar image
Former Member

URGENT: Problem returning Comlex Types from Web Services

Hi,

I have a web service generated out of an Ejb using the WebService wizard in the Netweaver Developer Studio. This WebService returns a complex type: ABC which is well defined as a seriazable class in the EJB Project itself.

Now this complex type ABC consists of the following

1. String str

2. int x

3. DEF def (note that DEF is again a complex type and is Serializable)

4. XYZ[] xyzlist (nore that XYZ is again a complex type and is Serializable)

After the Web Service is published using a Successful Deployment of the ear file

we try to test it using the web based test interface

http://localhost:50000/ABCService/Config

We then give in the input parameters to the Web Service for the SOAP Request.

When we get the SOAP Response, we do see the str and x i.e. 1 and 2 above.

But the complex types DEF and XYZ[] are not even mentioned and looks like the webservice completely ignores them.

pls advise if anyone has faced this problem. This is a very basic issue and would hinder a lot of Web Services development.

.V

Add comment
10|10000 characters needed characters exceeded

  • Follow
  • Get RSS Feed

2 Answers

  • avatar image
    Former Member
    Nov 21, 2003 at 05:06 PM

    Hello Jake,

    please keep in mind that the Sneak Preview Edition of Web AS 6.30 is a beta-version for evaluation purposes only. Not all the features that will work in the commercially available version work for this edition.

    So your problem could be related to a bug, but it also could have other reasons.

    One possible reason could be that you have not initialized the DEF and XYZ[] structures. And if they are "Null", they aren't sent (according to the WSDL definition).

    Another possible reason is, that you first created the ABC structure, with only 1. and 2. and then created the VI. If you add afterwards DEF and XYZ to the ABC, the VI must be re-generated aferwards.

    In the case this is a bug: in two months we will have an updated Sneak Preview Edition on SDN, the error you experience now should then be gone.

    I hope this helps.

    Many greetings

    Ivo

    Add comment
    10|10000 characters needed characters exceeded

    • Former Member

      Hi,

      I am trying to use and external webservice model in web dynpro application.

      http://arcweb.esri.com/services/v2/MapImage.wsdl

      It has got many complex data types. Specially when i want to pass array of complex data type, i am getting SOAP error. As the xmlns:tns='' is generated in the SOAP request.

      Also the values being set in the controller are getting null when sending the request. If i hard code this values in the stub files then the request works.

      System COnfiguration:

      Sap NetWeaver Web Aplication Server 6.40

      Developer studio.2.5

      Can you please guide me in this situation?

      Thanks,

      Mital

  • avatar image
    Former Member
    Jul 20, 2004 at 01:30 PM

    Hi,

    I am writing an application in WebDynpo which needs to call External web service. This service has many complex data types. The function which I am trying to access needs some Complex data type array. When i checked the SOAP request i found that the namespace for the array type is getting blank values. Because of which SOAP response is giving exception.

    The SOAP request is as below. For the <maker> which is an array ,the xmlns:tns='' is generated.

    GDT.Streets.US

    <mapImageSize xsi:type='tns:MapImageSize'><width xsi:type='xs:int'>380</width><height xsi:type='xs:int'>500</height></mapImageSize>

    <mapImageFormat xsi:type='xs:string'>gif</mapImageFormat>

    <backgroundColor xsi:type='xs:string'>255,255,255</backgroundColor>

    <projection xsi:type='xs:string'>4269</projection>

    <datumTransformation xsi:type='xs:string'>dx</datumTransformation>

    </outputCoordSys>

    <drawScaleBar xsi:type='xs:boolean'>false</drawScaleBar>

    <scaleBarPixelLocation xsi:nil='true' xsi:type='tns:PixelCoord'></scaleBarPixelLocation>

    <returnLegend xsi:type='xs:boolean'>false</returnLegend>

    <item xsi:type='tns:MarkerDescription'><name xsi:type='xs:string'></name>

    <iconDataSource xsi:type='xs:string'></iconDataSource><color xsi:type='xs:string'></color>

    <label xsi:type='xs:string'></label>

    <labelDescription xsi:nil='true' xsi:type='tns:LabelDescription'>

    <x xsi:type='xs:double'>33.67</x><y xsi:type='xs:double'>39.44</y>

    <coordinateSystem xsi:type='tns:CoordinateSystem'>

    <projection xsi:type='xs:string'>4269</projection>

    <datumTransformation xsi:type='xs:string'>dx</datumTransformation>

    </coordinateSystem></location></item>

    </markers><lines xsi:nil='true'>

    </lines><polygons xsi:nil='true'></polygons><circles xsi:nil='true'></circles><displayLayers xsi:nil='true'></displayLayers>

    </mapImageOptions>

    Another problem:

    If the webservice is having overloaded methods , it is generating error for the second overloaded method.The stub file itself contains statment as follow:

    Response = new();

    can anyone guide me on this?

    Thanks,

    Mital.

    Add comment
    10|10000 characters needed characters exceeded