I have a IS service which have 3 input(String type) and 1 documentList which contain 3 fields as output.(DocumentList name IT_RATES) which i have given by referring an existing IS document.
I have created a Provider webservice descriptor- and generated the WSDL.
Since the name ArrayOfIT_RATESItem(which is automatically generated) this is reflected when connector as well…
My input is to the webservice is 3 input(String type) and 1 documentList which contain 3 fields as output.(DocumentList name IT_RATES).
But the connector which have been created doesnot match the output…
output shows …
as
tns: exchangeRateResponse
IT_RATES(single element)
ArrayOfIT_RATESItem(documentList) - This is according to WSDL not actual output of webservice
element1
element2
element3
I tried to rename in wsdl but its throwing me exception
"Could not run ‘ProviderWS_PortType_getDailyLexmarkExchangeRate’.
com.wm.app.b2b.server.ServiceException: [ISS.0088.9139] Output parameters do not conform to targetOutputSignature:
errorCode=VV-005
pathName=/tns:exchangeRateResponse/IT_RATES/IT_RATE_TAB
errorMessage=[ISC.0082.9034] Field is absent, field must exist
errorCode=VV-002
pathName=/tns:exchangeRateResponse/IT_RATES/ArrayOfIT_RATESItem
errorMessage=[ISC.0082.9026] Undefined Object found
errorCode=VV-002
pathName=/tns:exchangeRateResponse/IT_RATES/ArrayOfIT_RATESItem
errorMessage=[ISC.0082.9026] Undefined Object found
"
No there are no errors while executing the connector.
I get the desired output. but the problem is rather than getting the documentlist named IT_RATES which was defined in the webservice output it have the name ArrayIT_RATESITEM.
Not sure if this is webMethods’ recommended solution or not, but you can get around this by modifying the document type used by the output and setting “Allow unspecified fields” to be true.
In my opinion, this is a bug. But I’m sure if you ask the knowledgeable folks at Software AG support they’d say it was a feature.
Are the ArrayOfXXX types causing you issues? I know from a consumption standpoint a .Net client simply strips them out causing no issue. Axis probably does the same. If it does you can also do as the article suggest and do your WSDL first and have it generate the provider stub for you.
For each document list or string list, the ArrayOfXXX types generated by IS will appear in the input/output documents of consumers without applying the fix.
It is supposed to get wrapped / unwrapped by Integration server. Applying the fix will solve the issue. The ArrayOfXXX segments will not appear in in/out documents of generated consumers once applying the fix IS_7-1-1_WebSvcsXML_Fix11 in wM 711 version.
Solves the problem with IS connector clients not unwrapping the ArrayOfXXX types. IS will still put ArrayOfXXX types in the WSDL that it generates as designed. This fix will just allow the webMethods IS connector to invoke it successfully.
webMethods support says putting the ArrayOfXXX wrappers in the generated WSDL is working as designed. However they also said they may change this in the 8.x releases.
Yes. I accept. It will put ArrayOfXXX types in wsdl but i mean to say, it wont be visible in input output signatures of web service connectors after applying the fix.