on 10-03-2005 5:04 PM
Hello Everyone.
What would be the proper way to set an import value for a WSDL RFC call using a model node (not attribute) that has a 0...1 cardinality? I have tried every method to no avail.
Hi Trent,
You can try this.
Request_<> objRequest = new Request_<>();
//Bind it here to the context if neeed
<node class> objNode = new <node class>();
objNode.set<...>(...);
objRequest.set<node>(objNode);
try {
objReqest.execute();
} catch (Exception e) ....
Hope this helps.
Nirav
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
I am specifically trying to call the HRWPC_GET_NAV_SUBTREE RFC. The ComplexType_HRROOTOB model object has two attributes of "oBJID" and "oTYPE".
Here is a snippet of my code:
public void wdDoInit(){
...
Request_HRWPC_GET_NAV_SUBTREEPortType_HRWPC_GET_NAV_SUBTREE subtree_request = new Request_HRWPC_GET_NAV_SUBTREEPortType_HRWPC_GET_NAV_SUBTREE();
ComplexType_HRWPC_GET_NAV_SUBTREE subtree_parameters = new ComplexType_HRWPC_GET_NAV_SUBTREE();
ComplexType_HRWPC_S_KEYOBJEC subtree_objects = new
ComplexType_HRWPC_S_KEYOBJEC();
ComplexType_HRWPC_S_KEYSTRUC subtree_struct = new
ComplexType_HRWPC_S_KEYSTRUC();
ComplexType_HRROOTOB subtree_root = new ComplexType_HRROOTOB();
subtree_parameters.addRESULT_OBJEC(subtree_objects);
subtree_parameters.addRESULT_STRUC(subtree_struct);
subtree_request.setROOT(subtree_root);
subtree_request.setParameters(subtree_parameters);
wdContext.nodeRequest_HRWPC_GET_NAV_SUBTREE().bind(subtree_request);
wdThis.executeGetNavSubtree();
...
}
public void executeGetNavSubtree( )
{
...
String objid = "50000113";
String otype = "O";
if(wdContext.nodeRESULT_OBJEC().currentRESULT_OBJECElement() != null){
objid = wdContext.nodeRESULT_OBJEC().currentRESULT_OBJECElement().getOBJID();
otype = wdContext.nodeRESULT_OBJEC().currentRESULT_OBJECElement().getOTYPE();
}
//******************************
Here is the part where (I assume) the import parameters for the ROOT property need to be set (ComplexType_HRROOTOB), Do you know how specifically do I do this? It is a model node with cardinality 0...1
I have tried something along the lines of this to no avail. It look as if for some reason, the setting of the values to the model node do not work correctly.
ComplexType_HRROOTOB new_root = new ComplexTypeHRROOTOB();
new_root.setOBJID(objid);
new_root.setOTYPE(otype);
OR
wdContext.nodeROOT().currentROOTElement().setOBJID(objid);
wdContext.nodeROOT().currentROOTElement().setOTYPE(otype);
//******************************
wdContext.nodeSUBTREE_parameters().currentSUBTREE_parametersElement().
setNAVTYPE(navType);
//$$begin Service Controller(-901424175)
IWDMessageManager manager = wdComponentAPI.getMessageManager();
try{
wdContext.currentRequest_HRWPC_GET_NAV_SUBTREEElement().modelObject().execute();
wdContext.nodeSUBTREE_Response().invalidate();
wdContext.nodeSUBTREE_Result().invalidate();
wdContext.nodeSUBTREE_RESPONSE_rESULT_STRUC().invalidate();
wdContext.nodeSUBTREE_RESPONSE_rESULT_OBJEC().invalidate();
} catch(Exception ce) {
manager.reportException(ce.getMessage(), false);
}
//@@end
}
Message was edited by: Trent Taylor
Thats the thing.
It doesnt work. I still get this error:
"Service call exception; nested exception is: com.sap.engine.services.webservices.jaxrpc.exceptions.XmlMarshalException: XML Serialization Error. Property [ROOT] of class [com.epiuse.us.recruitment.navsubtreemodel.proxies.types.HRWPC_GET_NAV_SUBTREE] must exist and can not be null. This is required by schema description"
Hi Trent,
You have created objects for all node and also bound properly. But, i guess you have not initialized vlues for all required input parameters.
In schema of webservices, these parameteres should be defined as mandatory, so you need to specify some values to all such input parameters.
you can set values using following code:
wdcontext.current<node name>element().set<sttribute>(<value>);
Regards,
Bhavik
Has anyone ever used a web services model to call and RFC that used an 0..1 cardinality import structure as one of the parameters?
--
Trent
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
91 | |
10 | |
10 | |
9 | |
9 | |
7 | |
6 | |
5 | |
5 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.