cancel
Showing results for 
Search instead for 
Did you mean: 

WebDynpro External Web Service Model

Former Member
0 Kudos

I am writing an application in web dynpro which uses web service model. In that model there are lot of complex data types.

External webservice i am using is

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

I am facing couple of problems.

1.

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();

2.

While calling the methods there are some default values which are needed to be assigned to elements. So i am not binding such elements to any UI. I have created a context in a Component and liked with the web model. In woInit() method of the controller i am initializing request and binding it to the model. After that i am assigning the default values to some of the elements as follow for eg.

Request_xyz req = new Request_xyz();

wdCOntext.nodeRequest_xyz.bind(req);

req.setx("x");

XYZ x = new XYZ();

x.setT1("t1");

x.setT2{"t2");

req.setXYZ(x);

When i send the request what i observed that the values for the complex type XYZ is passing as null in the stub.

but the values of req.setx("x") is available.

Can you help me in this as it seems the problem with the serialization?

3.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.

<mapImageOptions xsi:type='tns:MapImageOptions' xmlns:tns='http://www.themindelectric.com/package/com.esri.is.services.glue.v2.mapimage/'>

<dataSource xsi:type='xs:string'>GDT.Streets.US</dataSource>

<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>

<outputCoordSys xsi:type='tns:CoordinateSystem' xmlns:tns='http://www.themindelectric.com/package/com.esri.is.services.common.v2.geom/'>

<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>

[b<u>]<markers ns2:arrayType='tns:MarkerDescription[1]' xmlns:tns='' xmlns:ns2='http://schemas.xmlsoap.org/soap/encoding/'></u></b><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'>

</labelDescription><location xsi:type='tns:Point' xmlns:tns='http://www.themindelectric.com/package/com.esri.is.services.common.v2.geom/'>

<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>

Thanks,

Mital.

Accepted Solutions (0)

Answers (1)

Answers (1)

former_member15967
Product and Topic Expert
Product and Topic Expert
0 Kudos

Hi Mital,

I believe that overloaded methods in web services are not WS-I compliant therefore I would caution you against using them.

All the Best

Peter

Former Member
0 Kudos

Hi Peter,

Is there any workaround for such situation?

Thanks,

Mital.

Former Member
0 Kudos

Hi,

How can i make sure that the wsdl file is ws-i complient?

Thanks,

Mital