webMethods

webMethods

Join this online group to communicate across IBM product users and experts by sharing advice and best practices with peers and staying up to date regarding product enhancements.

 View Only
Expand all | Collapse all

WSDL contains ArrayOf

  • 1.  WSDL contains ArrayOf

    Posted Fri May 08, 2009 09:23 AM

    Hi,

    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.

    In the WSDL I find the below been created…

    <xsd:complexType name=“exchangeRateRequest”>
    xsd:sequence
    <xsd:element name=“fromCurrency” nillable=“true” type=“xsd:string” minOccurs=“0” />
    <xsd:element name=“toCurrency” nillable=“true” type=“xsd:string” minOccurs=“0” />
    <xsd:element name=“requestDate” nillable=“true” type=“xsd:string” minOccurs=“0” />
    </xsd:sequence>
    </xsd:complexType>
    <xsd:complexType name=“exchangeRateResponse”>
    xsd:sequence
    <xsd:element name=“IT_RATES” nillable=“true” type=“tns:ArrayOfIT_RATES” />
    </xsd:sequence>
    </xsd:complexType>
    <xsd:complexType name=“IT_RATES”>
    xsd:sequence
    <xsd:element name=“fromCurrency” nillable=“true” type=“xsd:string” minOccurs=“0” />
    <xsd:element name=“toCurrency” nillable=“true” type=“xsd:string” minOccurs=“0” />
    <xsd:element name=“exchangeRate” nillable=“true” type=“xsd:string” minOccurs=“0” />
    </xsd:sequence>
    </xsd:complexType>
    <xsd:complexType name=“ArrayOfIT_RATES”>
    xsd:sequence
    <xsd:element name=“ArrayOfIT_RATESItem” type=“tns:IT_RATES” maxOccurs=“unbounded” />
    </xsd:sequence>
    </xsd:complexType>

    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
    "

    I am using webMethods 7.1

    Could anyone help me in figuring out this cause.

    Thanks in advance.

    Hiubert


    #soa
    #API-Management
    #webMethods


  • 2.  RE: WSDL contains ArrayOf

    Posted Fri May 08, 2009 10:51 AM

    Do you see any errors while executing connector?


    #webMethods
    #API-Management
    #soa


  • 3.  RE: WSDL contains ArrayOf

    Posted Sat May 09, 2009 04:38 AM

    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.

    Best Regards
    Hiubert


    #webMethods
    #soa
    #API-Management


  • 4.  RE: WSDL contains ArrayOf

    Posted Sat May 09, 2009 09:51 AM

    Hi Hiubert,

    Have you able to find the solutions?
    Would you help me, I have the same problem with you too…

    Thanks a million.

    Best Regards,
    Neni Adiningsih


    #API-Management
    #webMethods
    #soa


  • 5.  RE: WSDL contains ArrayOf

    Posted Sun May 10, 2009 11:20 AM

    Hi Neni

    still fighting with this problem.

    It works when we declare it as document.

    But when declared as documentlist only we get this problem.

    I will reply you if I get the answer for this query.

    Best Regards
    Hiubert


    #API-Management
    #webMethods
    #soa


  • 6.  RE: WSDL contains ArrayOf

    Posted Thu July 09, 2009 05:31 PM

    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.


    #webMethods
    #soa
    #API-Management


  • 7.  RE: WSDL contains ArrayOf

    Posted Fri July 10, 2009 02:02 AM

    Apply the fix: IS_7-1-1_WebSvcsXML_Fix11

    Go through the below post

    [URL]wmusers.com


    #API-Management
    #webMethods
    #soa


  • 8.  RE: WSDL contains ArrayOf

    Posted Wed July 15, 2009 01:56 PM

    From Software AG - https://advantage.webmethods.com/knowledgebase?oid=1614334178

    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.


    #soa
    #webMethods
    #API-Management


  • 9.  RE: WSDL contains ArrayOf

    Posted Wed July 15, 2009 02:46 PM

    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.


    #API-Management
    #soa
    #webMethods


  • 10.  RE: WSDL contains ArrayOf

    Posted Wed July 15, 2009 03:32 PM

    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.


    #API-Management
    #soa
    #webMethods


  • 11.  RE: WSDL contains ArrayOf

    Posted Wed July 15, 2009 03:49 PM

    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.

    Thank You,
    Senthil


    #webMethods
    #soa
    #API-Management