Discussion:
How to use "Axis2WebServiceClientFunctionComponent"
(too old to reply)
g***@gmail.com
2019-01-29 19:40:22 UTC
Permalink
Hi, recently i found a weir behavior on the AxisEasyInvoke FC (To solve this i try to update the SDO to the last FP and the las Java FP but this does not solve the issue)

When i use the AxisEasyInvoke FC i found that my WS Request contains the type, and this cause some error on the WS:

<xsd:element form="qualified" maxOccurs="1" minOccurs="1" name="transactionId">
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:minLength value="1"/>
<xsd:maxLength value="48"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>

11:31:21,680 DEBUG - XXXXXXX Debug: {
"@REASON_MESSAGE": "https://xxx.xxx.xxx.xxx:xxxx/timtest: cvc-elt 4.3: element {http://xxx.xxxxxxxx.xxxx/xxxx/xxxxxx/xxx/xxx/test/}transactionId xsi:type value {http://www.w3.org/2001/XMLSchema}string is not derived from anonymous element type",
"@REASONCODE": 100
}

Now, i found that if on the AL i use the J2S FC and S2J FC one time the issue is solved and after this (Try to replace the EASYInvoke with the J2S & S2J but seems like the complexTypes are not propertly load on the S2J FC )


I read the IBM Documentation and seems like the Axis2WebServiceClientFunctionComponent don't use the ComplexTypes but i been trying to use it but so far i got no clue, anyone have any idea how to use it??
Franzw
2019-01-30 07:46:51 UTC
Permalink
Post by g***@gmail.com
Hi, recently i found a weir behavior on the AxisEasyInvoke FC (To solve this i try to update the SDO to the last FP and the las Java FP but this does not solve the issue)
<xsd:element form="qualified" maxOccurs="1" minOccurs="1" name="transactionId">
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:minLength value="1"/>
<xsd:maxLength value="48"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
11:31:21,680 DEBUG - XXXXXXX Debug: {
}
Now, i found that if on the AL i use the J2S FC and S2J FC one time the issue is solved and after this (Try to replace the EASYInvoke with the J2S & S2J but seems like the complexTypes are not propertly load on the S2J FC )
I read the IBM Documentation and seems like the Axis2WebServiceClientFunctionComponent don't use the ComplexTypes but i been trying to use it but so far i got no clue, anyone have any idea how to use it??
1.Get IBM Support involved - if there is errors in the FCs they will help you eliminate those.

2.My advice - skip the FCs if they do not work ootb. I have spent many hours trying to make them work - but in the end I always end up doing the XML by hand (using the DOM functionality in TDI) and the use the HTTP client connector in call/reply mode.

The AXIS WS FCs are a nice idea - but there is too many complexities that cannot be worked around - so if something does not work it is almost impossible to fix it - it would have been nice if we had them as scripted FCs so that they could be debugged/extended as necessary.

And building XML by hand in TDI is not as bad as it sounds - after the initial (though steep) learning curve it is quite easy - and compatible with REST :-)

HTH
Regards
Franz Wolfhagen
g***@gmail.com
2019-01-30 19:24:24 UTC
Permalink
Post by Franzw
Post by g***@gmail.com
Hi, recently i found a weir behavior on the AxisEasyInvoke FC (To solve this i try to update the SDO to the last FP and the las Java FP but this does not solve the issue)
<xsd:element form="qualified" maxOccurs="1" minOccurs="1" name="transactionId">
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:minLength value="1"/>
<xsd:maxLength value="48"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
11:31:21,680 DEBUG - XXXXXXX Debug: {
}
Now, i found that if on the AL i use the J2S FC and S2J FC one time the issue is solved and after this (Try to replace the EASYInvoke with the J2S & S2J but seems like the complexTypes are not propertly load on the S2J FC )
I read the IBM Documentation and seems like the Axis2WebServiceClientFunctionComponent don't use the ComplexTypes but i been trying to use it but so far i got no clue, anyone have any idea how to use it??
1.Get IBM Support involved - if there is errors in the FCs they will help you eliminate those.
2.My advice - skip the FCs if they do not work ootb. I have spent many hours trying to make them work - but in the end I always end up doing the XML by hand (using the DOM functionality in TDI) and the use the HTTP client connector in call/reply mode.
The AXIS WS FCs are a nice idea - but there is too many complexities that cannot be worked around - so if something does not work it is almost impossible to fix it - it would have been nice if we had them as scripted FCs so that they could be debugged/extended as necessary.
And building XML by hand in TDI is not as bad as it sounds - after the initial (though steep) learning curve it is quite easy - and compatible with REST :-)
HTH
Regards
Franz Wolfhagen
Hi Franz,

Well i guess this is really a java bug with this connector.

Right now im working fine with the AXIS2 WS Client FC with no problems if i found any other weird behavior I will try to generate the XML with the Entry.toXML() and use the HTTP Connector.
Franzw
2019-01-31 07:39:20 UTC
Permalink
Post by g***@gmail.com
Post by Franzw
Post by g***@gmail.com
Hi, recently i found a weir behavior on the AxisEasyInvoke FC (To solve this i try to update the SDO to the last FP and the las Java FP but this does not solve the issue)
<xsd:element form="qualified" maxOccurs="1" minOccurs="1" name="transactionId">
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:minLength value="1"/>
<xsd:maxLength value="48"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
11:31:21,680 DEBUG - XXXXXXX Debug: {
}
Now, i found that if on the AL i use the J2S FC and S2J FC one time the issue is solved and after this (Try to replace the EASYInvoke with the J2S & S2J but seems like the complexTypes are not propertly load on the S2J FC )
I read the IBM Documentation and seems like the Axis2WebServiceClientFunctionComponent don't use the ComplexTypes but i been trying to use it but so far i got no clue, anyone have any idea how to use it??
1.Get IBM Support involved - if there is errors in the FCs they will help you eliminate those.
2.My advice - skip the FCs if they do not work ootb. I have spent many hours trying to make them work - but in the end I always end up doing the XML by hand (using the DOM functionality in TDI) and the use the HTTP client connector in call/reply mode.
The AXIS WS FCs are a nice idea - but there is too many complexities that cannot be worked around - so if something does not work it is almost impossible to fix it - it would have been nice if we had them as scripted FCs so that they could be debugged/extended as necessary.
And building XML by hand in TDI is not as bad as it sounds - after the initial (though steep) learning curve it is quite easy - and compatible with REST :-)
HTH
Regards
Franz Wolfhagen
Hi Franz,
Well i guess this is really a java bug with this connector.
Right now im working fine with the AXIS2 WS Client FC with no problems if i found any other weird behavior I will try to generate the XML with the Entry.toXML() and use the HTTP Connector.
Keep the reports coming here - (and to IBM Support if you have the time) - these are things that would benefit all of us if more usecases of the WS FC will actually work out of the box :-)

What we really need is some kind of developer community where all TDI practitioners could work together to develop new working Connectors/FCs/Parsers so that we could make these problems go away.

Regards
Franz Wolfhagen

Loading...