on 02-21-2008 10:05 AM
Hi Experts,
I am working on Client Java proxy. The Java application that invokes the proxy call is developed using NWDS.Company ID is passed using JSP page. Webservice of a BAPI is used on the receiver side to retrieve Company Details.These should be displayed as Response on the same JSP page. But when i execute;no Response is obtained , No messages are observed in SXMB_MONI for the Sender system.
I am unable to locate the error.
Kindly suggest ways to monitor the proxy.
Thanks in advance.
Regards,
Neha
hi neha,
go to sxmb_adm in that go to specific configuration
in that create new entry
select RUNTIME ,against that select LOGGING_SYNC and set default value as 1.
with this synchronous messages ll be persisted in XI and u can see the message flow in XI BOX,accordingly u can resolve the bugs.
Thanks & Regards,
Rama Krishna
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi All,
when i run my JSP page the following log can be seen in the trace file:
#1.5#001A4DD89852005400000024000009B80004492CB3CE3F4D#1206356250943#System.err#sap.com/Javaproxy_new#System.err#Guest#0####1993c100f99111dc9962001a4dd89852#SAPEngine_Application_Thread[impl:3]_32##0#0#Error##Plain###com.sap.engine.services.jndi.persistent.exceptions.NamingException: Error getting the server-side naming service functionality during getInitialContext operation. at com.sap.engine.services.jndi.InitialContextFactoryImpl.getInitialContext(InitialContextFactoryImpl.java:243)
at com.sap.engine.system.naming.provider.DefaultInitialContext._getDefaultInitCtxt(DefaultInitialContext.java:65)
at com.sap.engine.system.naming.provider.DefaultInitialContext.<init>(DefaultInitialContext.java:46)
at com.sap.engine.system.naming.provider.DefaultInitialContextFactory.getInitialContext(DefaultInitialContextFactory.java:41)
at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:662)
at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:243)
at javax.naming.InitialContext.init(InitialContext.java:219)
at javax.naming.InitialContext.<init>(InitialContext.java:195)
at $#@@#&*.InvokeJavaProxy.getRole(InvokeJavaProxy.java:38)
at jsp_Invoke1206356236802._jspService(jsp_Invoke1206356236802.java:67)
at com.sap.engine.services.servlets_jsp.server.jsp.JspBase.service(JspBase.java:112)
at com.sap.engine.services.servlets_jsp.server.servlet.JSPServlet.service(JSPServlet.java:544)
at com.sap.engine.services.servlets_jsp.server.servlet.JSPServlet.service(JSPServlet.java:186)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.runServlet(HttpHandlerImpl.java:390)
at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java:264)
at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:347)
at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:325)
at com.sap.engine.services.httpserver.server.RequestAnalizer.invokeWebContainer(RequestAnalizer.java:887)
at com.sap.engine.services.httpserver.server.RequestAnalizer.handle(RequestAnalizer.java:241)
at com.sap.engine.services.httpserver.server.Client.handle(Client.java:92)
at com.sap.engine.services.httpserver.server.Processor.request(Processor.java:148)
at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:33)
at com.sap.engine.core.cluster.impl6.session.MessageRunner.run(MessageRunner.java:41)
at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)
at java.security.AccessController.doPrivileged(Native Method)
at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:100)
at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:170)
Caused by: com.sap.engine.services.jndi.persistent.exceptions.NoPermissionException: Exception during getInitialContext operation. Wrong security principle/credentials. [Root exception is com.sap.engine.services.security.exceptions.BaseLoginException: Cannot authenticate the user.]
at com.sap.engine.services.jndi.implclient.LoginHelper.serverSideLogin(LoginHelper.java:70)
at com.sap.engine.services.jndi.InitialContextFactoryImpl.getInitialContext(InitialContextFactoryImpl.java:135)
... 27 more
Caused by: com.sap.engine.services.security.exceptions.BaseLoginException: Cannot authenticate the user.
at com.sap.engine.services.security.login.ModulesProcessAction.run(ModulesProcessAction.java:180)
at java.security.AccessController.doPrivileged(Native Method)
at com.sap.engine.services.security.login.FastLoginContext.login(FastLoginContext.java:172)
at com.sap.engine.services.jndi.implclient.LoginHelper.serverSideLogin(LoginHelper.java:60)
... 28 more
Caused by: com.sap.engine.services.security.exceptions.BaseLoginException: Authentication did not succeed.
at com.sap.engine.services.security.login.ModulesProcessAction.run(ModulesProcessAction.java:177)
... 31 more
All suggestions are welcome.
Thanks.
Edited by: neha nagrani on Mar 24, 2008 1:04 PM
hi Stefan,
thanx once again for your inputs.I hav gone through the thread and incorporated all changes suggested.
now i am geeting the following error in the response field of mu JSP page,
"Error getting the server-side naming service functionality during getInitialContext operation."
Could you please suggest how to eliminate this particular error ??
Also , i would like to know if there is a way of finding out if my proxy class is able to connect to XI.
Thanx,
Neha
Edited by: neha nagrani on Mar 27, 2008 10:59 AM
Hey Stefan,
The scenario worked..
the link you suggested in the previous reply helped a lott.
thanks for the help .
Just one last thing;
Could please elaborate on why exactly do we use PortableRemoteObject.narrow() method and queryOutRemote.$messageSpecifier();
Thanks in advance.
Edited by: neha nagrani on Apr 2, 2008 9:07 AM
Hi,
I ahd to re do my scenario because of some reasons ;
Now when i run my JSP page I dont receive response.
the following message appears in the trace file :
#1.5 #001279D06B4E0067000001C600008AEC00044A06A51F1BE4#1207292307525#XIRUN.com.sap.aii.ibrun.sbeans.mapping.MappingRequestHandler#sap.com/com.s
ap.xi.services#XIRUN.com.sap.aii.ibrun.sbeans.mapping.MappingRequestHandler#J2EE_GUEST#0#SAP J2EE Engine JTA Transaction :
[0261cffffffd60047ffffffa0]#n/a##86ce4750021411ddac69001279d06b4e#SAPEngine_Application_Thread[impl:3]_30##0#0#Error#1#/Applications/ExchangeInfrastructure/I
ntegrationServer#Plain###Runtime exception occurred during execution of application mapping program com/sap/xi/tf/_MM_JAVAPROXY_1_:
com.sap.aii.utilxi.misc.api.BaseRuntimeException; RuntimeException in Message-Mapping transformation: Cannot produce target element /ns1:CompanyGetdetail/Companyid.
Check xml instance is valid for source xsd and target-field mapping fulfills requirements of target xsd
Thrown:
MESSAGE ID: com.sap.aii.ibrun.server.mapping.rb_MappingRuntimeException.EXCEPTION_DURING_EXECUTE
com.sap.aii.ibrun.server.mapping.MappingRuntimeException: Runtime exception occurred during execution of application mapping program
com/sap/xi/tf/_MM_JAVAPROXY_1_: com.sap.aii.utilxi.misc.api.BaseRuntimeException; RuntimeException in Message-Mapping transformation: Cannot produce target
element /ns1:CompanyGetdetail/Companyid. Check xml instance is valid for source xsd and target-field mapping fulfills requirements of target xsd
at com.sap.aii.ibrun.server.mapping.JavaMapping.executeStep(JavaMapping.java:73)
at com.sap.aii.ibrun.server.mapping.Mapping.execute(Mapping.java:92)
at com.sap.aii.ibrun.server.mapping.MappingHandler.run(MappingHandler.java:90)
at com.sap.aii.ibrun.sbeans.mapping.MappingRequestHandler.handleMappingRequest(MappingRequestHandler.java:95)
at com.sap.aii.ibrun.sbeans.mapping.MappingRequestHandler.handleRequest(MappingRequestHandler.java:68)
at com.sap.aii.ibrun.sbeans.mapping.MappingServiceImpl.processFunction(MappingServiceImpl.java:79)
at com.sap.aii.ibrun.sbeans.mapping.MappingServiceObjectImpl0_0.processFunction(MappingServiceObjectImpl0_0.java:131)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at com.sap.engine.services.ejb.session.stateless_sp5.ObjectStubProxyImpl.invoke(ObjectStubProxyImpl.java:187)
at $Proxy190.processFunction(Unknown Source)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at com.sap.engine.services.rfcengine.RFCDefaultRequestHandler.call(RFCDefaultRequestHandler.java:277)
at com.sap.engine.services.rfcengine.RFCDefaultRequestHandler.handleRequest(RFCDefaultRequestHandler.java:219)
at com.sap.engine.services.rfcengine.RFCJCOServer$J2EEApplicationRunnable.run(RFCJCOServer.java:260)
at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)
at java.security.AccessController.doPrivileged(Native Method)
at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:102)
at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:172)
Thanks in advance.
Edited by: neha nagrani on Apr 4, 2008 8:46 AM
Hi neha
CO TXT Outbounding not Found this error occurs due to
No receiver agreement found
Kindly check your receiver agreement in integration directory or if you have given any condition on receiver determination
modify that your problem will be solved
thanks
Sandeep
PS if helpful reward points
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Could you check your JSP code for error handling?
You could write the errors to String variables and write them to a special error page.
Here an example:
try{
Context ctx = new InitialContext();
FlightBookHome queryOutHome = (FlightBookHome)
ctx.lookup("java:comp/env/ejb/FlightBookBean");
FlightBook queryOutRemote = queryOutHome.create();
String[] result = queryOutRemote.checkFlight(airlineId,flightNumber,flightDate);
} catch (RemoteException e) {
errorType = "Remote exception occurred";
errorText = e.getMessage();
error = true;
} catch (NamingException e) {
errorType = "Naming exception occurred";
errorText = e.getMessage();
error = true;
} catch (Exception e) {
errorType = e.getClass().toString()+" exception occurred";
errorText = e.toString() + e.getMessage();
error = true;
}
Mainly the error happens it this point, where the EJB is called from the JSP page.
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 Stefan,
Thanks a lot for your inputs.
I am a novice in java. i have developed the java class and JSP by refering to the following link
[https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/f272165e-0401-0010-b4a1-e7eb8903501d]
I will apprecaite it If you could suggest anything.
I am sorry to have to say that there are errors in this document and it will not work like described.
It is not possible to use Java proxies in such a scenario without knowledge of JSP and EJB.
But Java proxy are not made for connecting user interface with PI. Choose Webservice for this case.
Regards
Stefan
Hi,
When i run a self test of the JPR; the following error is displayed.
Starting JPR selftest via MS with timeout 60000 msec ...
Synchronous request: SystemFaultException: Error sending MS message. Exception: XIServer:CO_TXT_OUTBINDING_NOT_FOUND*:
Synchronous request for application fault: SystemFaultException: Error sending MS message. Exception: XIServer:CO_TXT_OUTBINDING_NOT_FOUND:
Synchronous request for system error: SystemFaultException: Error sending MS message. Exception: XIServer:CO_TXT_OUTBINDING_NOT_FOUND:
Done
The problem is still not resolved.
Should i avoid using SOAP adapter on the receiver side and use RFC instead.??
Also , i would like to know if there is a way to trace the working of my scenario. how would i get to know if my data is reaching XI?
NO messages are displayed when i perform monitoring for my sender system.
Suggestions are welcome.
Thanx..
Edited by: neha nagrani on Feb 28, 2008 11:54 AM
You can monitor your Java proxy messages with the message monitor from the runtime workbench (RWB).
You should also check the error handling of the java proxy call. Catch the error message text and display this on the JSP text.
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,
If you have troubles with your Java Proxies, you should first check the status of the Java
Proxy Runtime (JPR) inside the adapter monitor.
Start the Runtime Workbench from the SAP Exchange Infrastructure start page, choose
Component Monitoring and select the Adapter Engine (where the Java Proxies are
deployed) as the component.
On the Status tab page you choose Adapter Monitoring to call the adapter monitor.
In the adapter Monitor expand the namespace http://sap.com/xi/XI/System and choose
JPR to open the Monitor for the Java Proxy Runtime.
Regards
Aashish Sinha
PS : reward points if helpful
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi,
I just wanted to know what details are displayed under the JPR monitor,
If my scenario's working fine; what details should be displayed under the tabs SLD access,Messaging System,Logical locking,Properties,Registry and Cache.
Right now, i am getting 0 entries in the \jpf.properties file under the Properties tab.
also i am getting 0 entries in the \jpf.registry file under the Registry tab.
Also , i had performed a self test on JPR;
the outcome is as follows:
Starting JPR selftest via MS with timeout 60000 msec ...
Synchronous request: SystemFaultException: Error sending MS message. Exception: XIServer:CO_TXT_OUTBINDING_NOT_FOUND:
Synchronous request for application fault: SystemFaultException: Error sending MS message. Exception: XIServer:CO_TXT_OUTBINDING_NOT_FOUND:
Synchronous request for system error: SystemFaultException: Error sending MS message. Exception: XIServer:CO_TXT_OUTBINDING_NOT_FOUND:
Done
Also , when i open Messaging System url; the following message is displayed :
- <SOAP:Envelope xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP:Header />
- <SOAP:Body>
- <SOAP:Fault xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/">
<faultcode>SOAP:Client</faultcode>
<faultstring>Empty HTTP request received</faultstring>
<faultactor>http://sap.com/xi/XI/Message/30</faultactor>
- <detail>
- <SAP:Error xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" SOAP:mustUnderstand="1">
<SAP:Category>XIProtocol</SAP:Category>
<SAP:Code area="MESSAGE">EMPTY_HTTP_REQUEST_RECEIVED</SAP:Code>
<SAP:P1 />
<SAP:P2 />
<SAP:P3 />
<SAP:P4 />
<SAP:AdditionalText />
<SAP:ApplicationFaultMessage namespace="" />
<SAP:Stack>Empty HTTP query received; message processing not possible</SAP:Stack>
</SAP:Error>
</detail>
</SOAP:Fault>
</SOAP:Body>
</SOAP:Envelope>
Does this info in any way help to locate the error??
Thanx and Regards,
Neha.
Edited by: neha nagrani on Feb 22, 2008 11:36 AM
Edited by: neha nagrani on Feb 22, 2008 1:10 PM
Hi.
Where did you deploy your Java Proxies? In XI server or de-central adapter engine? If it's de-central, can you see it in the Runtime Workbench of XI server, under Component Monitoring? If you see it, you should be able to monitor centrally in RWB.
Are you sure you don't get any exception when calling the proxy from the Java Application?
Regards,
Gari.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
88 | |
10 | |
10 | |
9 | |
7 | |
7 | |
6 | |
5 | |
4 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.