on 09-26-2012 4:18 PM
Hi Experts,
I am attempting to call a REST Web Service in PI 7.3, Single JAVA Stack.
I used the blog http://scn.sap.com/community/pi-and-soa-middleware/blog/2012/08/11/calling-synchronous-restful-web-s...
and http://scn.sap.com/community/pi-and-soa-middleware/blog/2012/08/18/consuming-synchronous-restful-web... posted by Amit Dingorkar as the starting point.
I am using an ABAP program on our ECC system to create/send a couple needed fields to PI via HTTP Proxy.
Following the above blogs, I created my url dynamically and put the value into the proper fields in the mapping, based on the blog. I then tested it using SPROXY on the ECC box.
Here is the message content showing that the mapping worked, the url and the TServerLocation both have the correct URL that I am setting up dynamically.
content-id:<soap-E207DABD4279A0F189C6005056B73293@sap.com>Content-Type:text/xml; charset=utf-8
<SOAP:Envelope xmlns:SOAP='http://schemas.xmlsoap.org/soap/envelope/'>
<SOAP:Header xmlns:SOAP='http://schemas.xmlsoap.org/soap/envelope/' xmlns:SAP='http://sap.com/xi/XI/Message/30' xmlns:xlink='http://www.w3.org/1999/xlink' xmlns:wsu='http://www.docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd' xmlns:wsse='http://www.docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd' xmlns:versionMajor='003' xmlns:versionMinor='000' xmlns:mustUnderstand='1' xmlns:Id='wsuid-main-92ABE13F5C59AB7FE10000000A1551F7'>
<SAP:Main versionMajor='3' versionMinor='1' SOAP:mustUnderstand='1' wsu:Id='wsuid-main-92ABE13F5C59AB7FE10000000A1551F7'>
<SAP:MessageClass>ApplicationMessage</SAP:MessageClass><SAP:ProcessingMode>synchronous</SAP:ProcessingMode>
<SAP:MessageId>e207dabd-4279-9ef1-89c6-005056b73293</SAP:MessageId>
<SAP:TimeSent>2012-09-26T13:04:47Z</SAP:TimeSent>
<SAP:Sender>
<SAP:Party agency='' scheme=''></SAP:Party>
<SAP:Service>BS_SAPECC_DEV_150</SAP:Service>
</SAP:Sender>
<SAP:Receiver>
<SAP:Party agency='http://sap.com/xi/XI' scheme='XIParty'>
</SAP:Party>
<SAP:Service>BS_SAPECC_DEV_150</SAP:Service>
</SAP:Receiver>
<SAP:Interface namespace='http://abc.com/xi/PI/Radtest/Namespace'>Radtest_IB</SAP:Interface>
</SAP:Main>
<SAP:ReliableMessaging SOAP:mustUnderstand='1'>
<SAP:QualityOfService>BestEffort</SAP:QualityOfService>
</SAP:ReliableMessaging>
<SAP:System SOAP:mustUnderstand='1'>
<SAP:Record namespace='http://sap.com/xi/XI/Message/30/general' name='interfaceDeterminationGUID'>aeb8e57afea111e1bf3400000c37ad5a</SAP:Record>
<SAP:Record namespace='http://www.sap.com/webas/712/soap/features/runtime/metering/' name='CallingType'>SA</SAP:Record>
<SAP:Record namespace='http://sap.com/xi/XI/Message/30/general' name='syncTimeout'>300000</SAP:Record>
<SAP:Record namespace='http://sap.com/xi/XI/Message/30/general' name='senderAgreementGUID'>97720a5333e333a28ee2701c9cd32e7f</SAP:Record>
</SAP:System>
<SAP:Diagnostic SOAP:mustUnderstand='1'>
<SAP:TraceLevel>Information</SAP:TraceLevel>
<SAP:Logging>Off</SAP:Logging>
</SAP:Diagnostic>
<SAP:HopList SOAP:mustUnderstand='1'>
<SAP:Hop timeStamp='2012-09-26T13:04:45Z' wasRead='false'>
<SAP:Engine type='BS'>BS_SAPECC_DEV_150</SAP:Engine>
<SAP:Adapter namespace='http://sap.com/xi/XI/System'>XI</SAP:Adapter>
<SAP:MessageId>e207dabd-4279-9ef1-89c6-005056b73293</SAP:MessageId>
<SAP:Info>3.0</SAP:Info>
</SAP:Hop>
<SAP:Hop timeStamp='2012-09-26T13:04:47Z' wasRead='false'>
<SAP:Engine type='AE'>af.xid.sapxidb</SAP:Engine>
<SAP:Adapter namespace='http://sap.com/xi/XI/System'>XIRA</SAP:Adapter>
<SAP:MessageId>e207dabd-4279-9ef1-89c6-005056b73293</SAP:MessageId>
</SAP:Hop></SAP:HopList>
<SAP:DynamicConfiguration SOAP:mustUnderstand='1'>
<SAP:Record namespace='http://sap.com/xi/XI/Message/30/routing' name='InterfaceDeterminationHash'>ab1b59ecec2aa92356f1ae1b92085585</SAP:Record>
<SAP:Record namespace='http://sap.com/xi/XI/System/SOAP' name='TServerLocation'>http://www.abc.com/rest/bean/atg/commerce/inv/IM/quantityByArticle?arg1=9578106</SAP:Record>
<SAP:Record namespace='http://sap.com/xi/XI/Message/30/general' name='senderAgreementGUID'>97720a5333e333a28ee2701c9cd32e7f</SAP:Record>
</SAP:DynamicConfiguration>
</SOAP:Header>
<SOAP:Body><sap:Manifest xmlns:sap='http://sap.com/xi/XI/Message/30' xmlns:xlink='http://www.w3.org/1999/xlink' xmlns:wsu='http://www.docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd' wsu:Id='wsuid-manifest-5CABE13F5C59AB7FE10000000A1551F7'>
<sap:Payload xlink:type='simple' xlink:href='cid:payload-E207DABD42799FF189C6005056B73293@sap.com'>
<sap:Name>MainDocument</sap:Name>
<sap:Description></sap:Description>
<sap:Type>Application</sap:Type>
</sap:Payload>
</sap:Manifest>
</SOAP:Body>
</SOAP:Envelope>content-id:payload-E207DABD42799FF189C6005056B73293@sap.comContent-Type:application/xml<?xml version="1.0" encoding="UTF-8"?>
<ns0:Radtest_MT xmlns:ns0="http://abc.com/xi/PI/Radtest/Namespace">
<url>http://www.abc.com/rest/bean/atg/commerce/inv/IM/quantityByArticle?arg1=9578106</url>
</ns0:Radtest_MT>
I am getting a General error when monitoring messages and the message cancels with the following Log.
...
9/26/2012 9:04:50.118 AM | Error | Axis: fatal error in invocation: java.lang.NoClassDefFoundError: javax/wsdl/OperationType |
9/26/2012 9:04:50.148 AM | Error | MP: exception caught with cause javax.ejb.TransactionRolledbackLocalException: nested exception is: java.lang.RuntimeException: java.lang.NoClassDefFoundError: javax/wsdl/OperationType; nested exception is: javax.ejb.EJBException: nested exception is: java.lang.RuntimeException: java.lang.NoClassDefFoundError: javax/wsdl/OperationType; nested exception is: javax.ejb.EJBTransactionRolledbackException: nested exception is: java.lang.RuntimeException: java.lang.NoClassDefFoundError: javax/wsdl/OperationType; nested exception is: javax.ejb.EJBException: nested exception is: java.lang.RuntimeException: java.lang.NoClassDefFoundError: javax/wsdl/OperationType |
9/26/2012 9:04:50.154 AM | Error | Exception caught by adapter framework: nested exception is: java.lang.RuntimeException: java.lang.NoClassDefFoundError: javax/wsdl/OperationType; nested exception is: javax.ejb.EJBException: nested exception is: java.lang.RuntimeException: java.lang.NoClassDefFoundError: javax/wsdl/OperationType; nested exception is: javax.ejb.EJBTransactionRolledbackException: nested exception is: java.lang.RuntimeException: java.lang.NoClassDefFoundError: javax/wsdl/OperationType; nested exception is: javax.ejb.EJBException: nested exception is: java.lang.RuntimeException: java.lang.NoClassDefFoundError: javax/wsdl/OperationType |
9/26/2012 9:04:50.299 AM | Error | Transmitting the message using connection SOAP_http://sap.com/xi/XI/System failed, due to: com.sap.engine.interfaces.messaging.api.exception.MessagingException: javax.ejb.TransactionRolledbackLocalException: nested exception is: java.lang.RuntimeException: java.lang.NoClassDefFoundError: javax/wsdl/OperationType; nested exception is: javax.ejb.EJBException: nested exception is: java.lang.RuntimeException: java.lang.NoClassDefFoundError: javax/wsdl/OperationType; nested exception is: javax.ejb.EJBTransactionRolledbackException: nested exception is: java.lang.RuntimeException: java.lang.NoClassDefFoundError: javax/wsdl/OperationType; nested exception is: javax.ejb.EJBException: nested exception is: java.lang.RuntimeException: java.lang.NoClassDefFoundError: javax/wsdl/OperationType |
The first message also shows up in Communication Channel monitoring for the Proxy Comm Channel and the SOAP channel that we used.
Anyone have any suggestions?
Thank you for your help,
Mike
Hi Again,
A little more information.
I tried the test again, and I am now getting the following errors in Monitor Messages.
9/26/2012 11:09:29.855 AM | Error | Axis: fatal error in invocation: java.lang.NoClassDefFoundError: org/apache/axis/description/OperationDesc : cannot initialize class because prior initialization attempt failed |
9/26/2012 11:09:29.862 AM | Error | MP: exception caught with cause javax.ejb.TransactionRolledbackLocalException: nested exception is: java.lang.RuntimeException: java.lang.NoClassDefFoundError: org/apache/axis/description/OperationDesc : cannot initialize class because prior initialization attempt failed; nested exception is: javax.ejb.EJBException: nested exception is: java.lang.RuntimeException: java.lang.NoClassDefFoundError: org/apache/axis/description/OperationDesc : cannot initialize class because prior initialization attempt failed; nested exception is: javax.ejb.EJBTransactionRolledbackException: nested exception is: java.lang.RuntimeException: java.lang.NoClassDefFoundError: org/apache/axis/description/OperationDesc : cannot initialize class because prior initialization attempt failed; nested exception is: javax.ejb.EJBException: nested exception is: java.lang.RuntimeException: java.lang.NoClassDefFoundError: org/apache/axis/description/OperationDesc : cannot initialize class because prior initialization attempt failed |
9/26/2012 11:09:29.867 AM | Error | Exception caught by adapter framework: nested exception is: java.lang.RuntimeException: java.lang.NoClassDefFoundError: org/apache/axis/description/OperationDesc : cannot initialize class because prior initialization attempt failed; nested exception is: javax.ejb.EJBException: nested exception is: java.lang.RuntimeException: java.lang.NoClassDefFoundError: org/apache/axis/description/OperationDesc : cannot initialize class because prior initialization attempt failed; nested exception is: javax.ejb.EJBTransactionRolledbackException: nested exception is: java.lang.RuntimeException: java.lang.NoClassDefFoundError: org/apache/axis/description/OperationDesc : cannot initialize class because prior initialization attempt failed; nested exception is: javax.ejb.EJBException: nested exception is: java.lang.RuntimeException: java.lang.NoClassDefFoundError: org/apache/axis/description/OperationDesc : cannot initialize class because prior initialization attempt failed |
9/26/2012 11:09:30.205 AM | Error | Transmitting the message using connection SOAP_http://sap.com/xi/XI/System failed, due to: com.sap.engine.interfaces.messaging.api.exception.MessagingException: javax.ejb.TransactionRolledbackLocalException: nested exception is: java.lang.RuntimeException: java.lang.NoClassDefFoundError: org/apache/axis/description/OperationDesc : cannot initialize class because prior initialization attempt failed; nested exception is: javax.ejb.EJBException: nested exception is: java.lang.RuntimeException: java.lang.NoClassDefFoundError: org/apache/axis/description/OperationDesc : cannot initialize class because prior initialization attempt failed; nested exception is: javax.ejb.EJBTransactionRolledbackException: nested exception is: java.lang.RuntimeException: java.lang.NoClassDefFoundError: org/apache/axis/description/OperationDesc : cannot initialize class because prior initialization attempt failed; nested exception is: javax.ejb.EJBException: nested exception is: java.lang.RuntimeException: java.lang.NoClassDefFoundError: org/apache/axis/description/OperationDesc : cannot initialize class because prior initialization attempt failed |
Once again, thanks for any thoughts/help on this issue.
Mike
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Mike,
As far as you are using PI 7.3 with a single Java stack you need to add to your classpath
wsdl4j-1.6.2.jar
actually you could add axis-wsdl4j-1.5.1.jar since it's the version used by axis to build the 1.4 version, but I recommend you to use the last version which doesn't depend on axis and it's perfectly compatible.
You can download wsdl4j-1.6.2.jar from here http://sourceforge.net/projects/wsdl4j/
best regards,
Tena.
User | Count |
---|---|
86 | |
10 | |
10 | |
10 | |
7 | |
6 | |
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.