Calling an ABAP web service from a web dynpro
Hello,
I based my application on the: "Creating an E-Mail Client Using Web Dynpro's Adaptive Web Service Model" tutorial but when invoking the web service I get this type of error:
Exception on execution of web service with WSDL URL 'http://mySAPBackendServer:1080/sap/bc/soap/wsdl11?services=Z_MY_WEB_SERVICE&sap-client=XXX&sap-user=XXXX&sap-password=XXXX' with operation 'Z_MY_WEB_SERVICE' in interface '{urn:sap-com:document:sap:rfc:functions}Z_MY_WEB_SERVICEPortType'
Is this because I used Adaptive Web Service Model instead of Adaptive RFC Model? Or is it due to something else?
thanks a lot,
Tanguy Mezzano
The function module is remote-enabled, it is exposed thus as a web-service, I can retrieve it with webservicebrowser application.
Shantoo:
I have tried to create a Web Dynpro with the RFC method to create the model but when I run and deploy I get a deployement error with:
Result
=> deployment aborted : file:/C:/DOCUME~1/..Webservice.ear
Aborted: development component 'WebDynpro_Webservice'/'local'/'LOKAL'/...'0':
Caught exception during application deployment from SAP J2EE Engine's deploy service:
java.rmi.RemoteException: Cannot deploy application local/WebDynpro_Webservice.. Reason: Clusterwide exception: Failed to deploy application local/WebDynpro_Webservice. Check causing exception for details (trace file). Hint: Are all referenced components deployed and available on the engine?; nested exception is: com.sap.engine.services.deploy.container.DeploymentException: Clusterwide exception: Failed to deploy application local/WebDynpro_Webservice. Check causing exception for details (trace file). Hint: Are all referenced components deployed and available on the engine?
(message ID: com.sap.sdm.serverext.servertype.inqmy.extern.EngineApplOnlineDeployerImpl.performAction(DeploymentActionTypes).REMEXC)
Deployment exception : The deployment of at least one item aborted
Anyway I want to use the web service model but I get the excepation stated in my first post.
Vishal:
your link doesn't lead to the a related thread...
Thanks for your help,
Tanguy
Similar Messages
-
Invoking one web service from another web service
Hi there,
I want to invoke a web service lets say X. But befor sending parameters to this web service, what i want to do is first pass the parameters to a web service called Y and Y will decide wether to call X or not. In other words i want to invoke a web service from another web service.
Its kind of urget so do the needful asap.
ThanksCalling another webservice from within a webservice does not require anything special. The service (say svc1) that calls another service (svc2) will be a web svc client. So you will have to do the same steps for svc1 as you would do for any other web service client
-
Consume a Web Service from a Web Page
I had tried out the Tutorial "Consume a Web Service from a Web Page". I have encountered this error :
; nested exception is: java.lang.NullPointerException.
oracle.adf.model.adapter.AdapterException: DCA-40010: The Web Service call failed. The service returned a SOAP fault with the message: [S:Receiver] EJB Exception: : java.lang.NullPointerException
at oracle.model.freightjb.CalculateFreightBean.calculateFreightCost(CalculateFreightBean.java:23)
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:597)
at com.bea.core.repackaged.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:310)
at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182)
at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149)
at com.bea.core.repackaged.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:131)
at com.bea.core.repackaged.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:119)
at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
at com.bea.core.repackaged.springframework.jee.spi.MethodInvocationVisitorImpl.visit(MethodInvocationVisitorImpl.java:37)
at weblogic.ejb.container.injection.EnvironmentInterceptorCallbackImpl.callback(EnvironmentInterceptorCallbackImpl.java:55)
at com.bea.core.repackaged.springframework.jee.spi.EnvironmentInterceptor.invoke(EnvironmentInterceptor.java:50)
at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
at com.bea.core.repackaged.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:89)
at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
at com.bea.core.repackaged.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:131)
at com.bea.core.repackaged.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:119)
at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
at com.bea.core.repackaged.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
at $Proxy170.calculateFreightCost(Unknown Source)
at oracle.model.freightjb.CalculateFreight_5vfuh6_WSOImpl.__WL_calculateFreightCost_WS(CalculateFreight_5vfuh6_WSOImpl.java:72)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
I tried to modify abit the code as i changed the web method parameter from object (BatchOrder order) to variables(eg. int) and it works. When I test the Web Services I need to select the include checkbox den it works nicely else i will also encounter this problem. Does this mean the web services can not take it object as parameter?Hi Paolo,
maybe I faced the same issue. I solved it reading the thread:
web service deployable client
Hope this help
Cheers
Roberto -
Calling a Web Service from another Web Service
Hello,
I have the following scenario: Web Service -> XI -> RFC.
I have created the XI -> RFC configurations in the XI and exposed them as a Web Service. I tested the generated WSDL with WebDynpro for Java and it works well (I also uploaded the WSDL to the XI server and tested it from the wsnavigator).
I have created a Web Service from a Java class, deployed it on the XI server (the same XI server as the one with the RFC scenario), tested it and it works well.
Now I want to call the service I exposed from the XI from inside my Web Service.
How can I do that? Are there any code samples for that? I searched and couldn't find any.create a standalone proxy for your WSDL of the web service deployed on XI java stack and use its API library in the caller Web service...
find the details here...
http://help.sap.com/saphelp_nw04/helpdata/en/77/1484b9ecb98c41af4a01131d8d46d3/content.htm -
Invoking multiple host web services from JCAPS web service (RemoteException
I am trying to invoke 2 web services sequentially ( not JCAPS service , some host service exposed as web service ), from my jcd which is also exposed
as a web service.Both the host service have incorporated basic http authentication scheme,and i am setting the security credentials in the enviornment.
(ie SOAP/HTTP external systems - client).
However when I deploy my web service and try to invoke the host services,the first host service being called is invoked successfully and i get the response back.But the second service throws a RemoteException and the SOAP response carries "Client not authorized" message in faultstring detail tag.
I do have separate external SOAP/HTTP systems for both the services,also the external systems have been configured with
the HTTP basic authentication credentials.
Infact I tried creating 2 separate JCAPS service for calling the host services individually.I am able to get the expected output
from the services.
The issue only arises when the host services are invoked in a sequential manner from a single JCAPS service.
Please do let me know if i can fill in some more gaps in the information i have provided.
Could this possibly be an issue in JCAPS?I have couple of doubts in this context.
a) Is this issue only restricted when web services not developed using JCAPS are invoked or it arises also when 2 JCAPS external services are invoked
sequentially.(I tried a PoC where in i created 2 deployments for calling the host services and invoked the deployment using another JCAPS web service and it worked fine)
b) Also if this issue only arises when the external web services being invoked have security credentials or just invoking any web services in sequence create
this problem.
PS : Any link to contact the sun support team? -
How can I create a web Service from my Web Dynpro Application ?
Hi,
Kindly let me know How I could create a "Web Service" with my Web Dynpro DC project.
Awaiting your responses.
Regards,
MaheshHi Mahesh,
You can use the web services by creating the Model in web Dynpro
And if you want to publish your own web service then you have to create a EJB module and publish as a web service.
Thanks
Ninad -
How to call an ABAP based web service from a web page (form)
Hi,
I am trying to figure out how I can call my own developed ABAP based web service. I was able to successfully test it in the WS navigator and am now wondering what I need to do to embed the service call in a plain simply web page (form). Basically I'd like to create a web form allowing to specify the parameters and with a 'Submit' button pass the parameters to the web service and launch it.
Is this possible or do I need some kind of SDK to accomplish this?
Thanks for any hints and tips.
WolfgangHi,
refer the following link and this is for cosuming the web service form Web dynpro Java
https://www.sdn.sap.com/irj/scn/index?rid=/library/uuid/50d70a19-45a3-2b10-bba0-807d819daf46&overridelayout=true
and please go throught the following link if you want to cosume it through web dynpro abap and find the answer given by the Moderator Thomas Jung
regards
Manohar -
Error calling web service from another web service
I get the following deployment error:
BUILD FAILED
/home/appgcelc/DS_028/Receive/XMLReceiveService/build.xml:170: Deploy error: Ope
ration failed with error:
Error compiling :/u10/app/gcelc/ora/appserver10131/j2ee/home/applications/XMLRe
ceiveService/ReceiveMessage: Error instantiating compiler: Webservice artifact g
eneration failed:java.lang.IllegalStateException: Service {http://ds.gcss.usmc.m
il/}compsvc for service-ref service/CompressService not found
Below is my web.xml fine...the service ref looks good! What's the issue???
<web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_5.xsd"
version="2.5">
<servlet>
<description>Web Service DefaultDepPort</description>
<display-name>Web Service DefaultDepPort</display-name>
<servlet-name>DefaultDepPort</servlet-name>
<servlet-class>mil.usmc.gcss.DefaultDepImpl</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>DefaultDepPort</servlet-name>
<url-pattern>DefaultDepPort</url-pattern>
</servlet-mapping>
<ejb-local-ref>
<ejb-ref-name>ejb/local/SessionFacade</ejb-ref-name>
<ejb-ref-type>Session</ejb-ref-type>
<local>mil.usmc.gcss.SessionFacadeLocal</local>
</ejb-local-ref>
<service-ref>
<service-ref-name>service/CompressService</service-ref-name>
<service-interface>javax.xml.rpc.Service</service-interface>
<wsdl-file>WEB-INF/wsdl/compsvc.wsdl</wsdl-file>
<jaxrpc-mapping-file>WEB-INF/compsvc-java-wsdl-mapping.xml</jaxrpc-mapping-file>
<service-qname xmlns:service-qname_ns__="http://ds.gcss.usmc.mil/">service-qname_ns__:compsvc
</service-qname>
<port-component-ref>
<service-endpoint-interface>mil.usmc.gcss.CompressService</service-endpoint-interface>
</port-component-ref>
</service-ref>
<resource-env-ref>
<description>Data Source for error handling API</description>
<resource-env-ref-name>jdbc/xxmcDS</resource-env-ref-name>
<resource-env-ref-type>javax.sql.DataSource</resource-env-ref-type>
</resource-env-ref>
</web-app>Well questions related to Web Services have been answered here in past, please Search on SCN for links to it.
-
Error while invoking a Web Service from a Web Application in Websphere 5.1
Hi,
I get the following error when i try to connec to a Webservice on Weblogic server.
Can anybody help me in determinig the reason for the error-
faultCode: Server.generalException
faultString: org.xml.sax.SAXException: WSWS3047E: Error: Cannot deserialize element ShipmentReference of bean vobject.tatservice.dhl.com.ShipmentReference.
faultActor: null
faultDetail:
org.xml.sax.SAXException: WSWS3047E: Error: Cannot deserialize element ShipmentReference of bean vobject.tatservice.dhl.com.ShipmentReference.
at com.ibm.ws.webservices.engine.WebServicesFault.makeFault(WebServicesFault.java:150)
at com.ibm.ws.webservices.engine.SOAPPart.getSOAPEnvelope(SOAPPart.java:868)
at com.ibm.ws.webservices.engine.SOAPPart.getFault(SOAPPart.java:1225)
at com.ibm.ws.webservices.engine.Message.getFault(Message.java:757)
at com.ibm.ws.webservices.engine.Message.ifFaultThrowSelf(Message.java:737)
at com.ibm.ws.webservices.engine.PivotHandlerWrapper.invoke(PivotHandlerWrapper.java:252)
at com.ibm.ws.webservices.engine.WebServicesEngine.invoke(WebServicesEngine.java:255)
at com.ibm.ws.webservices.engine.client.Connection.invokeEngine(Connection.java:685)
at com.ibm.ws.webservices.engine.client.Connection.invoke(Connection.java:611)
at com.ibm.ws.webservices.engine.client.Connection.invoke(Connection.java:441)
at com.ibm.ws.webservices.engine.client.Stub$Invoke.invoke(Stub.java:662)
at com.bea.www.TATServicePortStub.getDetailsFull(TATServicePortStub.java:874)
at com.bea.www.TATServicePortProxy.getDetailsFull(TATServicePortProxy.java:134)
at com.dhl.amis.cds.webtracking.action.TrackAction.experiment(TrackAction.java:160)
at com.dhl.amis.cds.webtracking.action.TrackAction.execute(TrackAction.java:104)
at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:484)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:525)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at com.ibm.ws.webcontainer.servlet.StrictServletInstance.doService(StrictServletInstance.java:110)
at com.ibm.ws.webcontainer.servlet.StrictLifecycleServlet._service(StrictLifecycleServlet.java:174)
at com.ibm.ws.webcontainer.servlet.IdleServletState.service(StrictLifecycleServlet.java:313)
at com.ibm.ws.webcontainer.servlet.StrictLifecycleServlet.service(StrictLifecycleServlet.java:116)
at com.ibm.ws.webcontainer.servlet.ServletInstance.service(ServletInstance.java:283)
at com.ibm.ws.webcontainer.servlet.ValidServletReferenceState.dispatch(ValidServletReferenceState.java:42)
at com.ibm.ws.webcontainer.servlet.ServletInstanceReference.dispatch(ServletInstanceReference.java:40)
at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.handleWebAppDispatch(WebAppRequestDispatcher.java:983)
at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.dispatch(WebAppRequestDispatcher.java:564)
at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.forward(WebAppRequestDispatcher.java:200)
at com.ibm.ws.webcontainer.srt.WebAppInvoker.doForward(WebAppInvoker.java:119)
at com.ibm.ws.webcontainer.srt.WebAppInvoker.handleInvocationHook(WebAppInvoker.java:276)
at com.ibm.ws.webcontainer.cache.invocation.CachedInvocation.handleInvocation(CachedInvocation.java:71)
at com.ibm.ws.webcontainer.cache.invocation.CacheableInvocationContext.invoke(CacheableInvocationContext.java:116)
at com.ibm.ws.webcontainer.srp.ServletRequestProcessor.dispatchByURI(ServletRequestProcessor.java:186)
at com.ibm.ws.webcontainer.oselistener.OSEListenerDispatcher.service(OSEListener.java:334)
at com.ibm.ws.webcontainer.http.HttpConnection.handleRequest(HttpConnection.java:56)
at com.ibm.ws.http.HttpConnection.readAndHandleRequest(HttpConnection.java:618)
at com.ibm.ws.http.HttpConnection.run(HttpConnection.java:443)
at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:672)
Caused by: org.xml.sax.SAXException: WSWS3047E: Error: Cannot deserialize element ShipmentReference of bean vobject.tatservice.dhl.com.ShipmentReference.
at com.ibm.ws.webservices.engine.encoding.ser.BeanDeserializer.onStartChild(BeanDeserializer.java:285)
at com.ibm.ws.webservices.engine.events.P2DConverter.flush(P2DConverter.java:775)
at com.ibm.ws.webservices.engine.events.P2DConverter.startElement(P2DConverter.java:270)
at sax.SAX2DocumentEntityParserBase.startElement(Unknown Source)
at sax.latin.LatinWFCSAX2DocumentEntityParser.startElement(Unknown Source)
at sax.SAX2DocumentEntityParserBase.startElementAction(Unknown Source)
at util.DocumentEntityParserBase.startElementEvent(Unknown Source)
at com.ibm.xml.b2b.scan.latin.LatinWFCDocumentScanner.scanStartElement(Unknown Source)
at com.ibm.xml.b2b.scan.latin.LatinWFCDocumentScanner.scanContent(Unknown Source)
at com.ibm.xml.b2b.scan.latin.LatinWFCDocumentScanner.scanDocument(Unknown Source)
at sax.latin.LatinWFCSAX2DocumentEntityParser.scanDocument(Unknown Source)
at util.DocumentEntityParserBase.parse(Unknown Source)
at sax.SAX2DocumentEntityParserBase.parseEntity(Unknown Source)
at sax.SAX2DocumentEntityParserBase.parse(Unknown Source)
at javax.xml.parsers.SAXParser.parse(Unknown Source)
at com.ibm.ws.webservices.engine.encoding.DeserializationContextImpl.parse(DeserializationContextImpl.java:251)
at com.ibm.ws.webservices.engine.SOAPPart.getSOAPEnvelope(SOAPPart.java:864)
... 39 more
WebServicesFault
faultCode: Server.generalException
faultString: org.xml.sax.SAXException: WSWS3047E: Error: Cannot deserialize element ShipmentReference of bean vobject.tatservice.dhl.com.ShipmentReference.
faultActor: null
faultDetail:
org.xml.sax.SAXException: WSWS3047E: Error: Cannot deserialize element ShipmentReference of bean vobject.tatservice.dhl.com.ShipmentReference.
at com.ibm.ws.webservices.engine.WebServicesFault.makeFault(WebServicesFault.java:150)
at com.ibm.ws.webservices.engine.SOAPPart.getSOAPEnvelope(SOAPPart.java:868)
at com.ibm.ws.webservices.engine.SOAPPart.getFault(SOAPPart.java:1225)
at com.ibm.ws.webservices.engine.Message.getFault(Message.java:757)
at com.ibm.ws.webservices.engine.Message.ifFaultThrowSelf(Message.java:737)
at com.ibm.ws.webservices.engine.PivotHandlerWrapper.invoke(PivotHandlerWrapper.java:252)
at com.ibm.ws.webservices.engine.WebServicesEngine.invoke(WebServicesEngine.java:255)
at com.ibm.ws.webservices.engine.client.Connection.invokeEngine(Connection.java:685)
at com.ibm.ws.webservices.engine.client.Connection.invoke(Connection.java:611)
at com.ibm.ws.webservices.engine.client.Connection.invoke(Connection.java:441)
at com.ibm.ws.webservices.engine.client.Stub$Invoke.invoke(Stub.java:662)
at com.bea.www.TATServicePortStub.getDetailsFull(TATServicePortStub.java:874)
at com.bea.www.TATServicePortProxy.getDetailsFull(TATServicePortProxy.java:134)
at com.dhl.amis.cds.webtracking.action.TrackAction.experiment(TrackAction.java:160)
at com.dhl.amis.cds.webtracking.action.TrackAction.execute(TrackAction.java:104)
at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:484)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:525)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at com.ibm.ws.webcontainer.servlet.StrictServletInstance.doService(StrictServletInstance.java:110)
at com.ibm.ws.webcontainer.servlet.StrictLifecycleServlet._service(StrictLifecycleServlet.java:174)
at com.ibm.ws.webcontainer.servlet.IdleServletState.service(StrictLifecycleServlet.java:313)
at com.ibm.ws.webcontainer.servlet.StrictLifecycleServlet.service(StrictLifecycleServlet.java:116)
at com.ibm.ws.webcontainer.servlet.ServletInstance.service(ServletInstance.java:283)
at com.ibm.ws.webcontainer.servlet.ValidServletReferenceState.dispatch(ValidServletReferenceState.java:42)
at com.ibm.ws.webcontainer.servlet.ServletInstanceReference.dispatch(ServletInstanceReference.java:40)
at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.handleWebAppDispatch(WebAppRequestDispatcher.java:983)
at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.dispatch(WebAppRequestDispatcher.java:564)
at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.forward(WebAppRequestDispatcher.java:200)
at com.ibm.ws.webcontainer.srt.WebAppInvoker.doForward(WebAppInvoker.java:119)
at com.ibm.ws.webcontainer.srt.WebAppInvoker.handleInvocationHook(WebAppInvoker.java:276)
at com.ibm.ws.webcontainer.cache.invocation.CachedInvocation.handleInvocation(CachedInvocation.java:71)
at com.ibm.ws.webcontainer.cache.invocation.CacheableInvocationContext.invoke(CacheableInvocationContext.java:116)
at com.ibm.ws.webcontainer.srp.ServletRequestProcessor.dispatchByURI(ServletRequestProcessor.java:186)
at com.ibm.ws.webcontainer.oselistener.OSEListenerDispatcher.service(OSEListener.java:334)
at com.ibm.ws.webcontainer.http.HttpConnection.handleRequest(HttpConnection.java:56)
at com.ibm.ws.http.HttpConnection.readAndHandleRequest(HttpConnection.java:618)
at com.ibm.ws.http.HttpConnection.run(HttpConnection.java:443)
at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:672)
Caused by: org.xml.sax.SAXException: WSWS3047E: Error: Cannot deserialize element ShipmentReference of bean vobject.tatservice.dhl.com.ShipmentReference.
at com.ibm.ws.webservices.engine.encoding.ser.BeanDeserializer.onStartChild(BeanDeserializer.java:285)
at com.ibm.ws.webservices.engine.events.P2DConverter.flush(P2DConverter.java:775)
at com.ibm.ws.webservices.engine.events.P2DConverter.startElement(P2DConverter.java:270)
at sax.SAX2DocumentEntityParserBase.startElement(Unknown Source)
at sax.latin.LatinWFCSAX2DocumentEntityParser.startElement(Unknown Source)
at sax.SAX2DocumentEntityParserBase.startElementAction(Unknown Source)
at util.DocumentEntityParserBase.startElementEvent(Unknown Source)
at com.ibm.xml.b2b.scan.latin.LatinWFCDocumentScanner.scanStartElement(Unknown Source)
at com.ibm.xml.b2b.scan.latin.LatinWFCDocumentScanner.scanContent(Unknown Source)
at com.ibm.xml.b2b.scan.latin.LatinWFCDocumentScanner.scanDocument(Unknown Source)
at sax.latin.LatinWFCSAX2DocumentEntityParser.scanDocument(Unknown Source)
at util.DocumentEntityParserBase.parse(Unknown Source)
at sax.SAX2DocumentEntityParserBase.parseEntity(Unknown Source)
at sax.SAX2DocumentEntityParserBase.parse(Unknown Source)
at javax.xml.parsers.SAXParser.parse(Unknown Source)
at com.ibm.ws.webservices.engine.encoding.DeserializationContextImpl.parse(DeserializationContextImpl.java:251)
at com.ibm.ws.webservices.engine.SOAPPart.getSOAPEnvelope(SOAPPart.java:864)
... 39 more
[10/3/06 23:31:59:271 IST] ad6d507 SystemOut O Experiment exceptionorg.xml.sax.SAXException: WSWS3047E: Error: Cannot deserialize element ShipmentReference of bean vobject.tatservice.dhl.com.ShipmentReference.Hi,
Thanx it is working now.
BTW can you give me some urls with info of this kind of setting which i need to do for other kind of integarions in J2EE platform.Sorry if i am asking too much as i am a starter in this technology. -
Calling a WebLogic web service from a WebLogic web application
We would like to call a WebLogic web service from WebLogic web application. The current architecture looks like:
LoadBalancer--->iPlanet-1/iPlanet-2--->Firewall--->WebLogic-AppServer-1/WebLogic-AppServer-2
The web application and web service are in the same WebLogic cluster. We would prefer that the web services do not get published externally.
Does the WebLogic web application need to make a call back outside the firewall to the load balancer?
Is there a way the web services can be called locally with load balancing?
Can web service calls be made over the t3 protocol?
Thanks,
MikeI think one solution is to use a Java proxy to call the Web services.
In the Java proxy you can have a method that accepts the user/pass and sets them correctly for the Web service.
Then you expose that Java proxy as a data control (right click, create data control) - and then create a page that invokes that method.
(For the basics of working with a POJO data control see: http://blogs.oracle.com/shay/2009/07/java_class_data_control_and_ad.html ) -
Web service as another web service client - problem in JavaEE SE?
Hello,
I observed strange behaviour with OpenESB, Glassfish (build 33) and following scenario:
I need to call web service from another web service. When I use simple schema:
web service client -> web service (as EJB) -> another Web service
everything works. But I would like to use JBI/ESB, so:
web service client -> HTTP SOAP BC -> JAVAEE SE -> web service (as EJB) -> another Web service
the following exception prevents success:
com.sun.xml.ws.model.RuntimeModelerException: runtime modeler error: Wrapper class cz.muni.fi.yucca.client.jbiws.gamanager.Calculate is not fou
nd. Have you run APT to generate them?
at com.sun.xml.ws.model.RuntimeModeler.getClass(RuntimeModeler.java:254)
at com.sun.xml.ws.model.RuntimeModeler.processDocWrappedMethod(RuntimeModeler.java:550)
at com.sun.xml.ws.model.RuntimeModeler.processMethod(RuntimeModeler.java:497)
at com.sun.xml.ws.model.RuntimeModeler.processClass(RuntimeModeler.java:339)
at com.sun.xml.ws.model.RuntimeModeler.buildRuntimeModel(RuntimeModeler.java:225)
at com.sun.xml.ws.client.WSServiceDelegate.addSEI(WSServiceDelegate.java:584)
at com.sun.xml.ws.client.WSServiceDelegate.getPort(WSServiceDelegate.java:287)
at com.sun.xml.ws.client.WSServiceDelegate.getPort(WSServiceDelegate.java:270)
at com.sun.xml.ws.client.WSServiceDelegate.getPort(WSServiceDelegate.java:263)
at javax.xml.ws.Service.getPort(Service.java:92)
at cz.muni.fi.yucca.client.jbiws.gamanager.GAManagerService.getGAManagerPort(GAManagerService.java:51)
When I call both services separately they work correctly, when I don't use JBI it works correctly too.
Should anybody help me solving this problem?
Thanks in advice, VladoFine,
I've found out that this problem is caused by different classloaders assigned to directly (EJBClassloader) and through-JBI (improperly configured URLClassloader) called web services.
I've moved my question to GlassFish forum (http://forums.java.net/jive/thread.jspa?threadID=24901&tstart=0) beacause of it's "technical" nature.
Despite this, any help is welcome:-) -
Calling a Web Service from an Abap Program
Hi Everyone,
I have been put to task to write an RFC that has web service calls within it. My question is if anyone has a coding examples, and or best practices when calling a web service, like connections, event handling, asynchronous, synchronous, return values, xml, acknowledgements.
Thanks a lot,
SteveBSP a Developer's Journal Part XIV - Consuming WebServices with ABAP
Calling WebServices from ABAP via HTTPS
Consuming Web Service from ABAP by Durairaj Athavan Raja
Search on SDN wiki, and you will find above mentioned links. -
Calling web service from ABAP - version 4.6C
Hi,
I would like to know how to call a web service from ABAP. Version is 4.6C. Any help would be greatly appreciated.
Thank you,
RekhaHi Rekha,
Please go through these..
call web service using ABAP
http://help.sap.com/saphelp_nw04/helpdata/en/a0/da0710b6560a4e80fb94f3f712dfc0/frameset.htm
http://help.sap.com/saphelp_nw04/helpdata/en/e9/ae1b9a5d2cef4ea4b579f19d902871/frameset.htm
Hope these help you!
cheers,
Prashanth -
Is it possible to call web service from ABAP SAP 4.6 c..If yes how
Hi Friends,
Is it possible to call web service from ABAP-SAP 4.6 c..If yes Could you please let me know how.
Thanks in Advance.
Murali Krishna K
Edited by: Murali Krishna Kakarla on Jan 26, 2008 7:09 PM
Edited by: Murali Krishna Kakarla on Jan 26, 2008 7:11 PMOlivier CHRETIEN wrote:>
> Hi Terry,
>
> So these function modules must use the SAPHTTPA RFC destination which uses the exe saphttp.exe ?
>
> How much abap code lines do you have for a web service call ?
> Do you have to code the call specifically for each different web service ?
> Are you able to use the WSDL ?
>
> Nice job if you have coded your own private SOAP runtime !
>
> But I don't think this is an easy solution for everybody...
>
> Regards,
>
> Olivier
Yes, SAPHTTPA (runs on application server) and/or SAPHTTP (runs on front-end pc), one of which, is required for HTTP communication. So far, nothing too elaborate as far as SOAP goes, but the logic is simplistic. Here's some sample code:
DEST = 'SAPHTTPA'.
TRANSLATE HOST TO LOWER CASE.
MYURL = 'wssrvTest/Service.asmx/GetByOrderItem'.
CONCATENATE HOST MYURL INTO MYURL.
REQUEST_HEADERS-DATA =
'Content-type: application/x-www-form-urlencoded'.
APPEND REQUEST_HEADERS.
CLEAR REQUEST_HEADERS.
*........Convert Order Number to External Format........................
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT'
EXPORTING
INPUT = ORDER
IMPORTING
OUTPUT = ORDER.
*........Convert Item Number to External Format.........................
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT'
EXPORTING
INPUT = ITEM
IMPORTING
OUTPUT = ITEM.
*........Convert Material Number to External Format.....................
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT'
EXPORTING
INPUT = MATERIAL
IMPORTING
OUTPUT = MATERIAL.
CONCATENATE 'sOrder=' ORDER
INTO REQUEST_BODY-DATA.
APPEND REQUEST_BODY.
CLEAR REQUEST_BODY.
CONCATENATE '&sItem=' ITEM
INTO REQUEST_BODY-DATA.
APPEND REQUEST_BODY.
CLEAR REQUEST_BODY.
CONCATENATE '&sMaterial=' MATERIAL
INTO REQUEST_BODY-DATA.
APPEND REQUEST_BODY.
CLEAR REQUEST_BODY.
CALL FUNCTION 'HTTP_POST'
EXPORTING
ABSOLUTE_URI = MYURL
RFC_DESTINATION = DEST
BLANKSTOCRLF = 'X'
TABLES
RESPONSE_ENTITY_BODY = RESPONSE_BODY
REQUEST_ENTITY_BODY = REQUEST_BODY
RESPONSE_HEADERS = RESPONSE_HEADERS
REQUEST_HEADERS = REQUEST_HEADERS
EXCEPTIONS
CONNECT_FAILED = 1
TIMEOUT = 2
INTERNAL_ERROR = 3
TCPIP_ERROR = 4
DATA_ERROR = 5
SYSTEM_FAILURE = 6
COMMUNICATION_FAILURE = 7
OTHERS = 8.
CHECK SY-SUBRC = 0. "more appropriate msg goes here
LOOP AT RESPONSE_BODY.
IF RESPONSE_BODY+0(7) <> '<string' AND
RESPONSE_BODY+0(8) <> '</string' AND
RESPONSE_BODY+0(5) <> '<?xml'.
SPLIT RESPONSE_BODY-DATA AT '=' INTO FIELD_NAME FIELD_VALUE.
TRANSLATE FIELD_NAME TO UPPER CASE.
CASE FIELD_NAME.
WHEN 'HEIGHT'.
HEIGHT = FIELD_VALUE.
WHEN 'WIDTH'.
WIDTH = FIELD_VALUE.
WHEN 'LENGTH'.
LENGTH = FIELD_VALUE.
WHEN 'WEIGHT'.
WEIGHT = FIELD_VALUE.
WHEN 'QTY'.
QTY = FIELD_VALUE.
ENDCASE.
ENDIF.
ENDLOOP.
Hope this helps...
Terry
Edited by: Terry West on Feb 4, 2008 3:08 PM -
How do i call web services from SAP ABAP
Hello,
Ian working with .net team. they are using sap .net Connector to connect SAP. But my job is In SAP side when Purchase Requisition is created, I have to call web services from ABAP and i have to pass the Purchase Requisition number to web service(.net Program). Please help me how to call web services from ABAP and how to pass value. Any one help me with example.
Thanks
RaviKumarHi Ravi,
If you can call EJB from ABAP and from EJB call Web service which you want to call. I am giving code to write in EJB business method processFunction.
public void processFunction(Function function) {
IRepository repository;
repository = new Repository("TestRepository");
JCO.MetaData fmeta = new JCO.MetaData("ZTEST_EJB");
fmeta.addInfo("REQUTEXT", JCO.TYPE_CHAR, 255, 0, 0,
JCO.IMPORT_PARAMETER, null);
fmeta.addInfo("ECHOTEXT", JCO.TYPE_CHAR, 255, 0, 0,
JCO.EXPORT_PARAMETER, null);
fmeta.addInfo("RESPTEXT", JCO.TYPE_CHAR, 255, 0, 0,
JCO.EXPORT_PARAMETER, null);
repository.addFunctionInterfaceToCache(fmeta);
JCO.ParameterList input =
function.getImportParameterList();
JCO.ParameterList output =
function.getExportParameterList();
JCO.ParameterList tables =
function.getTableParameterList();
if (function.getName().equals("ZTEST_EJB")) {
output.setValue(input.getCharArray("REQUTEXT"),"ECHOTEXT");
output.setValue("This is a response " + table.getString("E_NAME") +" " + output.getName(1), "RESPTEXT");
else if (function.getName().equals("STFC_STRUCTURE")) {
JCO.Structure sin = input.getStructure("IMPORTSTRUCT");
JCO.Structure sout = (JCO.Structure)sin.clone();
try {
System.out.println(sin);
catch (Exception ex) {
System.out.println(ex);
output.setValue(sout,"ECHOSTRUCT");
output.setValue("This is a response from Example5.java","RESPTEXT");
}//if
Here REQUTEXT, ECHOTEXT are import parameter and RESPTEXT is the Export parameter of Function module ZTEST_EJB in SAP.
Here from this bisuness method you can call web service which you want and give back the result of webservice to ABAP F.M.
Regards,
Bhavik
Maybe you are looking for
-
How can i get all these values in single row with comma separated?
I have a table "abxx" with column "absg" Number(3) which is having following rows absg 1 3 56 232 43 436 23 677 545 367 xxxxxx No of rows How can i get all these values in single row with comma separated? Like output_absg 1,3,56,232,43,436,23,677,545
-
When I go to certain websites, once they load, the font size is so large I can not view the website. Any ideas?
-
Instantiating Model Node in Component Controller with new Abstractlist()
Hi All, We have the following issue. When we instantiate a Node - Po_Items using Element.setPo_Items( new AbstractList() ) We get an error "The Type AbstractList Cannot be instantiate" . So how to successfully instantiate AbstractList() so that ulti
-
My computer just got back from getting fixed, they wiped out everything. Now I cant authorize my i phone purchases because it says Its been done by more than 5 computers? If you can please help. Thanks
-
I bought a Noki 2760 mobile phone yesterday. I can't receive calls. I believe I have closed the loudspeakers or shutdown receving calls. I can call you and I can send SMS to you. I tried in vain to solve the problem. I have downloaded the English man