on 10-25-2004 10:12 PM
Hello gurus of the SDN,
I have been trying to get an inbound Java Proxy scenario to work in XI 3.0 but have not been able to get the JPR to recognize my generated and deployed java code. My scenario is set up to call the java proxies generated from a message interface based on the MATMAS Idoc. I successfully deployed the generated java proxies on the same host box as is running the XI instance. The objects are named as follows
Message interface on XI = Inbound_MATMAS04
Generated proxy bean = Inbound_MATMAS04_PortTypeBean
Implementing class = InboundMATMAS04_PortTypeImpl
Implementing method = inboundMATMAS04
I used the JPR transport servlet to register the interface and implementing class but am not sure if I did this correctly. I used the following entry in my web browser:
http://nadcp786:50000/ProxyServer/register?
ns=urn:xiTrainingLabs:groupXX:SAP&
interface=InboundMATMAS04&
bean=InboundMATMAS04_PortTypeImpl&
method=inboundMATMAS04
I also tried using the localejb/ prefix for the bean name in the above step since the code is co-located. When I trigger the scenario, the Idoc info is passed into XI and the Java Proxy Runtime is called, but I get the following error response back in the SOAP header:
- <SAP:Error xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" SOAP:mustUnderstand="1">
<SAP:Category>XIAdapterFramework</SAP:Category>
<SAP:Code area="PARSING">GENERAL</SAP:Code>
<SAP:P1 />
<SAP:P2 />
<SAP:P3 />
<SAP:P4 />
<SAP:AdditionalText>com.sap.aii.af.ra.ms.api.DeliveryException: Cannot locate proxy bean InboundMATMAS04_PortTypeImpl: com.sap.aii.proxy.xiruntime.core.XmlInboundException: Cannot locate proxy bean InboundMATMAS04_PortTypeImpl</SAP:AdditionalText>
<SAP:ApplicationFaultMessage namespace="" />
<SAP:Stack />
<SAP:Retry>M</SAP:Retry>
</SAP:Error>
Finally, appended at the end of this post is the audit log of the messaging system showing that the JPR is called but without being able to locate the bean. I think I am missing a configuration step somewhere, but cant figure out what it is!! Can anyone help me?
Many thanks in advance.
Regards,
Nick Simon
Time Stamp Status Description
2004-10-25 19:47:32 Success The message was successfully received by the messaging system. Profile: XI URL: http://nadcp786.bcsdc.lexington.ibm.com:50000/MessagingSystem/receive/JPR/XI
2004-10-25 19:47:32 Success Using connection JPR. Trying to put the message into the receive queue.
2004-10-25 19:47:32 Success The message was successfully retrieved from the receive queue.
2004-10-25 19:47:32 Success The message status set to DLNG.
2004-10-25 19:47:32 Success Java proxy runtime (JPR) accepted the message
2004-10-25 19:47:34 Error JPR could not process the message. Reason: Cannot locate proxy bean localejbs/InboundMATMAS04_PortTypeImpl
2004-10-25 19:47:34 Error Delivery of the message to the application using connection JPR failed, due to: Cannot locate proxy bean localejbs/InboundMATMAS04_PortTypeImpl.
2004-10-25 19:47:34 Error The message status set to FAIL.
2004-10-25 19:47:34 Error Asynchronous error detected: Cannot locate proxy bean localejbs/InboundMATMAS04_PortTypeImpl. Trying to report it.
2004-10-25 19:47:34 Error Asynchronous error reported.
Message was edited by: Nicholas Simon
Hi Nicholas,
when you register, you should not use the class name for the bean definition. You have to use the JNDI name of the EJB.
Here is an example:
myBean = JNDI name of the Java Proxy Bean
eg: sap.com/myBean/myInterface_PortTypeBean
Regards
Stefan
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Nicholas,
I am doing something very similar but I am getting a different error : com.sap.aii.af.ra.ms.api.DeliveryException: Exception in method onMessage.
Whe are you looking for the trace (the status by timestamp) that you mentioned in this post ? Where should look in Visual Administrator ?
Thanks,
Durga
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Thanks Stefan!
You've saved me once again on this java proxy stuff!
Once I determined the JNDI naming, the proxy call worked.
Best Regards,
Nick
Message was edited by: Nicholas Simon
Message was edited by: Nicholas Simon
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi
How do you determine the JNDI naming of the a EJB?
I have following entry in JNDI directory in the root
Object Name FlightQueryIn
Class Name javax.naming.Reference
Context Name
Object Value Reference Class Name:
Type: clientAppName
Content: sap.com/JavaProxyEAR
Type: interfaceType
Content: remote
Type: home
Content: com.sap.aii.proxy.xiruntime.core.AbstractProxyInboundHome4
Type: ejb-link
Content: FlightSeatAvailabilityQueryIn_PortTypeBean
Type: jndi-name
Content: FlightQueryIn
Type: remote
Content: com.sap.aii.proxy.xiruntime.core.AbstractProxyInboundRemote4
I tried to register the bean with JPR using:
I followed the following blog
http://wiki.sdn.sap.com/wiki/display/Java/JavaProxyChangesinPI7.1fromPI7.0
Thanks,
Chris
User | Count |
---|---|
84 | |
24 | |
11 | |
9 | |
7 | |
6 | |
5 | |
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.