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-service-with-pi--i
and http://scn.sap.com/community/pi-and-soa-middleware/blog/2012/08/18/consuming-synchronous-restful-web-service-with-pi--ii 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/OperationTypeThe 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