cancel
Showing results for 
Search instead for 
Did you mean: 

WSModelRuntimeException executing a model in WDJ

Former Member
0 Kudos

Hi all,

I get the following exception when I try to execute my Web Service Model (NW 7.3, detailed stack trace in attachment):

Caused by: com.sap.engine.services.webservices.espbase.client.bindings.exceptions.TransportBindingException: Parameter set failure. The runtime was not able to set some parameter value. See nested exception for details.

at com.sap.engine.services.webservices.espbase.client.bindings.impl.SOAPTransportBinding.deserializeParameter(SOAPTransportBinding.java:2335)

at com.sap.engine.services.webservices.espbase.client.bindings.impl.SOAPTransportBinding.deserializeResponse(SOAPTransportBinding.java:1944)

... 63 more

Caused by: com.sap.tc.webdynpro.model.webservice.exception.WSModelRuntimeException: Neither target role nor property '$0023ChoiceField' defined in model class 'it.sab.demo.test.mx.wd.models.testpialfrescomodel.CmisPropertiesType' for the field name '#ChoiceField'

This is the part in WSDL that seems to be the cause of the problem:

<xsd:complexType name="cmisPropertiesType">

<xsd:sequence>

<xsd:choice minOccurs="0" maxOccurs="unbounded">

<xsd:element name="propertyHtml" type="cmisPropertyHtml" form="qualified" nillable="true"/>

<xsd:element name="propertyDateTime" type="cmisPropertyDateTime" form="qualified" nillable="true"/>

<xsd:element name="propertyUri" type="cmisPropertyUri" form="qualified" nillable="true"/>

<xsd:element name="propertyBoolean" type="cmisPropertyBoolean" form="qualified" nillable="true"/>

<xsd:element name="propertyString" type="cmisPropertyString" form="qualified" nillable="true"/>

<xsd:element name="propertyId" type="cmisPropertyId" form="qualified" nillable="true"/>

<xsd:element name="propertyDecimal" type="cmisPropertyDecimal" form="qualified" nillable="true"/>

<xsd:element name="propertyInteger" type="cmisPropertyInteger" form="qualified" nillable="true"/>

</xsd:choice>

<xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>

</xsd:sequence>

<xsd:anyAttribute namespace="##other" processContents="skip"/>

</xsd:complexType>

So, this is what seems to happen:

- The WebDynpro call the initialize method and context is created;

- The WebDynpro call the execute method, passing some values to External System;

- External System send a response to AS J2EE;

- Web Dynpro Framework can not deserialize the response because it is not coherent with model classes created starting from WSDL (in effect I can't see "0023ChoiceField" neither as a target role neither as a property in model classes generated in NWDS).

So what can I do in order to be able to consume the Web Service in Web Dynpro?

Thank you so much,

Manuel

Accepted Solutions (0)

Answers (1)

Answers (1)

junwu
Active Contributor
0 Kudos

the ws changed?

re-import the model, restart the server.

Former Member
0 Kudos

Hi Jun, the Web Service is standard (API exposed by Alfresco), so it has not been changed...

By the way model has been reimported (no changes) and server has been restarted, no differences!

Manuel

junwu
Active Contributor
0 Kudos

did it work before?

Former Member
0 Kudos

Consuming it in a Web Dynpro, it never works... Consuming it from other clients (SOAPUI, for example), it works!

junwu
Active Contributor
0 Kudos

some node need to be initialized by yourself.

it also could be that this ws is not supported by web dynpro

Former Member
0 Kudos

I think that this WS is not supported by web dynpro, in fact... "ChoiceField" mentioned in the Exception is not present in model class generated by NWDS...

So what can be done to solve the problem? There is no way to use this Web Service in Web Dynpro??

Thank you,

Manuel

junwu
Active Contributor
0 Kudos

consume in pure java and expose as ws again.