Webservice receiver scneario
Hi everyone.
XI has to send an attachment to a webservice (receiver webservice). This webservice has been created with a SAP BAPI.
I try to do it like Stefan Grube's document but i get errors.
Is it possible to send an attachment to a webservice developed with a BAPI?
Target webservice has this structure :
<?xml version="1.0" encoding="UTF-8"?>
<ns1:Z22HR_PI_TESTWEBSERVICE xmlns:ns1="urn:sap-com:document:sap:rfc:functions">
<DATA>
<item>
<CAMPO1>aaa</CAMPO1>
<CAMPO2>aaa</CAMPO2>
</item>
</DATA></ns1:Z22HR_PI_TESTWEBSERVICE>
In the SOAP receiver adapter (adapter module), i've used this config ...
/people/stefan.grube/blog/2007/02/20/working-with-the-payloadzipbean-module-of-the-xi-adapter-framework
Regards,
Inigo.
hi inigo ,
you are going for adapter module development that's good.
have one question is the remote BAPI which published can handleattachements?
<DATA>aaa</DATA>
if this is attachement then it shoudl work fine.
else ensure that BAPI is designed to take attachement as inputs.
Thanks & Regards,
Rama Krishna
Similar Messages
-
WebService Receiver Problem. Pls advice urgent.
Hi All,
I have R/3 (RFC) -- XI -- R/3(WebService) Scenario.
Now when I test my WebService in R/3 using wsadmin command it works fine.
But If I import my webservice as wsdl file and use it in Soap Receicer Adapter and use XI I get error:
<SAP:Category>XIAdapterFramework</SAP:Category>
<SAP:Code area="MESSAGE">GENERAL</SAP:Code>
<SAP:AdditionalText>com.sap.aii.af.ra.ms.api.DeliveryException: sapd03ci.alkhaliji.bank</SAP:AdditionalText>
Pls advice very urgent
regardsHi RAC,
May I know where this R/3 webservice located.
In your landscape or not?
Thanks
Gujjeti -
Webservices receiver determination error
Hi...
i am doing webservices to file scenario. In that i have done everything fine. But i am getting the error category as
RCVR_DETERMINATION.
I have checked in Tools------>Test Configuration.
In that it is showing Interface mapping problem.It is displayinf as
Runtime error
Interface mapping Object ID 7C4A2690D561349FB04484680A71CBE3 Software Component F6D2A9E0E2B811D7C59AECB40A1145A5 does not exist in runtime cache
Please kindly help in this issuetesting Config in ID but no Interface mapping found!
Interface mapping Object does not exist in runtime cache
What is Cache refreshing in XI ? Why and when we will do that ? -
RFC to WebService Receiver Determination Problem
Hi,
I am doing RFC to WebService with the help of this weblog
/people/shabarish.vijayakumar/blog/2006/03/28/rfc--xi--webservice--a-complete-walkthrough-part-2 In Interface Determination - when picking Inbound interface is coming as No objects found.
How to resolve it?
regards,
Ansar.Ansar,
In RFC to Web service the inbound interface should be the WSDL.
Did you import WSDL under 'External Definations'.
After importing you need to create a inbound message interface of the Message within the WSDL that you need to use.
Regards,
Ashish
Message was edited by:
Ashish Goyal -
WSDL of XI Webservice receiver
Hi!
I currently try to figure out how the SOAP Adapter of XI works. In our situation we would like to send data to the XI system to be able to process the data in SAP or transfer it to other systems.
I figured out that I need to install the adapter engine, set up a communication channel, define a Sender Agreement, Receiver Determination and Interface Determination (with Mapping).
Currently I am a little bit confused, about how the SOAP message must be structured. In the Intergration Builder (Directory) I am able to create the WSDL for proxy generation, but where is the content of the WSDL defined? Does it come from the mapping?
At the moment I have no system where I can test all the things, so I just read thousands of help documents and forum posts.
Thanks & Regards
BenjaminHi!
I currently try to figure out how the SOAP Adapter of XI works. In our situation we would like to send data to the XI system to be able to process the data in SAP or transfer it to other systems.
I figured out that I need to install the adapter engine, set up a communication channel, define a Sender Agreement, Receiver Determination and Interface Determination (with Mapping).
Currently I am a little bit confused, about how the SOAP message must be structured. In the Intergration Builder (Directory) I am able to create the WSDL for proxy generation, but where is the content of the WSDL defined? Does it come from the mapping?
At the moment I have no system where I can test all the things, so I just read thousands of help documents and forum posts.
Thanks & Regards
Benjamin -
Split Message, send to webservice and consolidate the results
Hello,
I am looking for some support / examples for following situation:
A webservice is existing that only allows a single message to be entered. The webservice will return the result on this message. The structure of the message is very simple as it contains only one element. (Same for the response)
What I would like to do is to be able to send a list of several values to be checked by this webservice. The idea is to build a BPM to send a multi-element message (repeating element / different values) , split this multi element message into seperate messages including one element, send all these messages accordingly to the webservice, receive and collect all according responses and consolidate these again in a multiu-element response message.
If someone would have a description or an example with the different needed steps how to build this BPM, this would be nice.
Thanks in advance !
Edited by: Keno Torfs on Mar 4, 2008 11:30 AMhi,
just open asynch synch bridge
you will be creating multi-line container with interface variable as instance.
assumption is a source system is pumping messages of same data type.
recieve step to get the messages.
you just collect the messages using container
then use reciever determinaton step to get the receivers in receiver variable .
use the transformation step to get the target messgaes
loop through the target message container and execute send step. after send step collect message.
note:in loop step we have decrement message counter send step which has collection variable for response.
hope you got some idea.
Regards,
Ram -
Date/Time Difference Anomaly in OC4J 9.0.4 Webservices.
Hi all,
We have a very peculiar problem with certain Dates in OC4J webservice. We checked the date on the client before it gets sent to the server and when the server (webservice) receives it, it's off by 1 hour, and vice versa. The strange thing is that it doesn't do it to all dates. Only some dates. Seems like most recent dates like those that occur this year or last year are ok. Yes, we checked timezones, daylight savings, clocks, etc, on both client and server and they are the same. Besides if it's something that global, it'll affect all dates not just certain dates.
We tested it against a Linux box running OC4J 9.0.4 and the problem shows up, but when we test it against a Windows box running OC4J 10.1.2, it's fine. We don't know if it's Windows or it's 10.1.2 that fixes it. Also, on the OC4J 10.1.2, it's running on the same box as the client, so that may also be a factor. Upgrading the Linux box to OC4J 10.1.2 is not an option.
Has anyone come across this problem before ? If so, any fixes/patches ? If we can find and prove evidence that this problem goes away in 10.1.2, we might be able to persuade the IT dept to upgrade to 10.1.2.
We're using JDeveloper 10.1.2 for development with an Oracle 9i database and OC4J 9.0.4 (which we conjectured, is the problem).
Thanks.
JHI'm guessing by now you've determined the cause and taken steps to correct the problem ... was wondering what you found and how you resolved it. We just came across the exact same problem this morning and I'm having little luck finding information. :( I suspect OC4J is "adjusting" the time for us (gee thanks), but we are using v 9.0.2.1so your version theory could be it as well. At any rate, I would certainly appreciate your input JH. Thanks in advance!
-
OSB 10.3.1 : Calling externall MTOM webservice through HTTPS
Hi,
We have OSB process that calls MTOM webservice via Business Service. It's works fine over HTTP connection.
We secure the connection one-way ssl client, we imported public certificate to trusted keystore in wls.
The business service calls the webservice over https, the Webservice receive the streaming and generates file.
The problem is when the webservice returns result, the connection is froze and the wls where is the webservice generates this exception
Couldn't create SOAP message due to exception: org.jvnet.mimepull.MIMEParsingException: Missing start boundary
com.sun.xml.ws.protocol.soap.MessageCreationException: Couldn't create SOAP message due to exception: org.jvnet.mimepull.MIMEParsingException: Missing start boundary
at com.sun.xml.ws.encoding.SOAPBindingCodec.decode(SOAPBindingCodec.java:292)
at com.sun.xml.ws.transport.http.HttpAdapter.decodePacket(HttpAdapter.java:276)
at com.sun.xml.ws.transport.http.HttpAdapter.access$500(HttpAdapter.java:93)
at com.sun.xml.ws.transport.http.HttpAdapter$HttpToolkit.handle(HttpAdapter.java:432)
at com.sun.xml.ws.transport.http.HttpAdapter.handle(HttpAdapter.java:244)
at com.sun.xml.ws.transport.http.servlet.ServletAdapter.handle(ServletAdapter.java:134)
at weblogic.wsee.jaxws.HttpServletAdapter$AuthorizedInvoke.run(HttpServletAdapter.java:272)
at weblogic.wsee.jaxws.HttpServletAdapter.post(HttpServletAdapter.java:185)
at weblogic.wsee.jaxws.JAXWSServlet.doPost(JAXWSServlet.java:180)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
at weblogic.wsee.jaxws.JAXWSServlet.service(JAXWSServlet.java:64)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:292)
at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:175)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3498)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
at weblogic.security.service.SecurityManager.runAs(Unknown Source)
at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2180)
at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2086)
at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1406)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
Caused by: org.jvnet.mimepull.MIMEParsingException: Missing start boundary
at org.jvnet.mimepull.MIMEParser.skipPreamble(MIMEParser.java:290)
at org.jvnet.mimepull.MIMEParser.access$200(MIMEParser.java:62)
at org.jvnet.mimepull.MIMEParser$MIMEEventIterator.next(MIMEParser.java:130)
at org.jvnet.mimepull.MIMEParser$MIMEEventIterator.next(MIMEParser.java:117)
at org.jvnet.mimepull.MIMEMessage.makeProgress(MIMEMessage.java:186)
at org.jvnet.mimepull.MIMEMessage.parseAll(MIMEMessage.java:168)
at org.jvnet.mimepull.MIMEMessage.<init>(MIMEMessage.java:85)
at com.sun.xml.ws.encoding.MimeMultipartParser.<init>(MimeMultipartParser.java:88)
at com.sun.xml.ws.encoding.MimeCodec.decode(MimeCodec.java:180)
at com.sun.xml.ws.encoding.SOAPBindingCodec.decode(SOAPBindingCodec.java:279)
I tested over https the same webservice using java client WS (generated by jdeveloper) and that works fine.
Any idea
Thanks,
MarounResolved
The problem is coming from OSB it happens when Business Service invoke WS in HTTPS, BS sends twice the request the first one contains the right envelop and the second one contains in empty request.
The Oracle Support helped me to resolve the problem; we changed the QoS (Quality Of Service) to Exactly once
Maroun -
Deployment of Webservice in J2EE Engine.
Hi All:
I am created a webservice and want to deploy it in SAP J2EE engine. But when I am trying it I am getting below Error Message:
/userOut/deploy (com.sap.ide.eclipse.sdm.threading.DeployThreadManager) [Thread[Deploy Thread,5,main]] ERROR:
[002]Deployment aborted
Deployment exception : Cannot determine sdm host (is empty). Please configure your engine/sdm correctly !
I also checked the SAP J2EE parameters in NWDS and its perfect:
Preference>SAP J2EE Engine>
Message Server Host : given host name
Message Server Port : 3900 (Even I tried 3600). I am not sure but I think 3900 is a default port for it??
If some one face the same problem and solved it please share it with me...
When Webservice receive the SOAP message from XI= XI is exploring or consuming it..i am confused on this:)
Thanks & Regards,
Farooq Farooqui.you can ask ur basis guy about the same or else if u have access to sap management console u can check it out urself.
steps;
sap mmc -- > goto ur server instance list in left frame
--> goto process list
--> in the right frame right click on msg-server.exe select developer trace.
in that trace ull find a statement like
I listen to internal port xxxx*** where xxxx is ur port.
regards
fariha
reward if useful -
WebService and dynamic subform
Hi all!
I have this situation: i need to execute a call to a webservice, passing to
it the value that is contained in a dynamic generated field called
string[*]. I don't know how many strings I will pass to the webservice:
named it "i".
So I have to do multiple calls to the same webservice, more precisely i
calls to the webservice.
Value has to be inserted in dynamic subforms, that are generated i times,
after we received the value of "i".
But even if the value of the string[*] are correct, I received only one
answer that contains the value of the fields of the last string I passed.
In all the binded fields for each subform I can see the same values.
How can I do in order to obtain the correct value for each string?
Thanks,
Alessio<[email protected]> ha scritto nel messaggio <br />news:[email protected]..<br />> For something complex like this I think you'd be better off using <br />> Acrobat's SOAP object that a designer data connection to do the web <br />> service calls. That way your script would have the logic to make the calls <br />> with the string value from the appropriate subform instance and setting <br />> the return value to the field in the appropriate subform instance.<br />><br />> You can read more about using the SOAP object in the Acrobat JavaScript <br />> Reference.<br />><br />> <a href=http://partners.adobe.com/public/developer/pdf/topic_js.html><br />><br />> Chris<br />> Adobe Enteprise Developer Support<br /><br />Hi Chris,<br />we have a web service in dotnet. Wen we call a method that doesn't require <br />parameters, the webservice answers well. On the contrary, when I call a <br />method that require a parameter, in the debug mode i can see that the value <br />passed is always "null". This is the script:<br /><br />SOAP.wireDump = false;<br />var cListURL = "http://192.168.1.16/forecast/Service1.asmx?WSDL";<br /><br /> var service = SOAP.connect(cListURL);<br /> var cTextString = "OK";<br /> var result = service.function1(cTextString);<br /> string.rawValue = result<br /><br />The function is done that it come back to me "1", but we have always "Empty" <br />because the data the webservice received is always "null".<br /><br />Please help me :)<br />Alessio
-
BPEL hanging when using HeaderHandlers for stateful webservice
We are having problems calling a partnerlink using the responseHeaderHandlers and requestHeaderHandlers properties.
The problem seems to be that the response from the webservice of the partnerlink is never received by BPEL, resulting in a timeout.
From the BPEL logs, I can see that the outbound header handler class has modified the request:
06/09/06 10:00:03 Started alive handler for statefull support -> out
06/09/06 10:00:03 [Request] to RetrieveServiceContent operation
06/09/06 10:00:03 Modified props
06/09/06 10:00:03 Outgoing call props: {is-initial-call=true, input-header-variables={}, parentId=1902, completionPersistPolicy=null, process-id=bpel://localhost/default/VMTest~1.0/, rootId=1902, conversationId=bpel://localhost/default/VMTest~1.0/1902-BpInv0-BpSeq1.6-2, location=http://wxp03666/sdk/vimService, priority=3, httpRequestHeaders={Connection=Keep-Alive}, work-item-key=1902-BpInv0-BpSeq1.6-2}
And in obtunnel, I can see the reqest being sent to the remote web service:
POST /sdk/vimService HTTP/1.0
Via: 1.0 LON-MEM-APP-11
Content-Length: 342
Content-Type: text/xml; charset=utf-8
User-Agent: orabpel
Host: lon-mem-tsg-06.lon.domroot.com:80
Accept: application/soap+xml, application/dime, multipart/related, text/*
Cache-Control: no-cache
Pragma: no-cache
SOAPAction: ""
Connection: Keep-Alive
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soapenv:Body>
<RetrieveServiceContent xmlns="urn:vim2">
<_this type="ServiceInstance">ServiceInstance</_this>
</RetrieveServiceContent>
</soapenv:Body></soapenv:Envelope>
The remote webservice receives this request, and in obtunnel I can see it's response:
HTTP/1.1 200 OK
Date: Wed, 6 Sep 2006 09:00:03 GMT
Set-Cookie: vmware_soap_session="19D82F52-CC94-4E52-9A2A-54AB10A31E3C"; Path=/;
Cache-Control: no-cache
Content-Type: text/xml; charset=utf-8
Content-Length: 2106
<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soapenv:Body>
<RetrieveServiceContentResponse xmlns="urn:vim2">
<returnval>
<rootFolder type="Folder">group-d1</rootFolder>
<propertyCollector type="PropertyCollector">propertyCollector</propertyCollector>
<about>
<name>VMware VirtualCenter</name>
<fullName>VMware VirtualCenter 2.0.0 build-27704</fullName>
<vendor>VMware, Inc.</vendor>
<version>2.0.0</version>
<build>27704</build>
<localeVersion>INTL</localeVersion>
<localeBuild>000</localeBuild>
<osType>win32-x86</osType>
<productLineId>vpx</productLineId>
<apiType>VirtualCenter</apiType>
<apiVersion>2.0.0</apiVersion>
</about>
<setting type="OptionManager">VpxSettings</setting>
<userDirectory type="UserDirectory">UserDirectory</userDirectory>
<sessionManager type="SessionManager">SessionManager</sessionManager>
<authorizationManager type="AuthorizationManager">AuthorizationManager</authorizationManager>
<perfManager type="PerformanceManager">PerfMgr</perfManager>
<scheduledTaskManager type="ScheduledTaskManager">ScheduledTaskManager</scheduledTaskManager>
<alarmManager type="AlarmManager">AlarmManager</alarmManager>
<eventManager type="EventManager">EventManager</eventManager>
<taskManager type="TaskManager">TaskManager</taskManager>
<customizationSpecManager type="CustomizationSpecManager">CustomizationSpecManager</customizationSpecManager>
<customFieldsManager type="CustomFieldsManager">CustomFieldsManager</customFieldsManager>
<diagnosticManager type="DiagnosticManager">DiagMgr</diagnosticManager>
<licenseManager type="LicenseManager">LicenseManager</licenseManager>
<searchIndex type="SearchIndex">SearchIndex</searchIndex>
</returnval>
</RetrieveServiceContentResponse>
</soapenv:Body>
</soapenv:Envelope>
However, the BPEL logs don't show any trace of BPEL receiving the response. The only thing that happens is the timeout.
If I remove the HeaderHandler properties from the partnerlink, BPEL receives the response from the remote web service ok, and continues with further invocations of operations. However, we do need to maintain state accross invocations, so need to use header handlers.
I have managed to get this code working on bpel 10.1.2.0.2 dev install, and thought the problem was due to setting the pl property httpKeepAlive to true, which appeared to modify the request to use http 1.1, from http 1.0. I set httpKeepAlive to false and it started working.
Now that I've deployed to BPEL on 10g apps server (10.1.2.0.2) the problem has come back again.
I have tried to ensure that everything is identical (classes being used etc), but cannot resolve the problem.
Can anyone help?
TobyWe have resolved this problem now, and a couple of things were creating the problem.
1st, httpKeepAlive property of true on the partnerlink resulted in a request being sent to the webservice, but no response being received. We set it to false as the outbound header class modifies the header to include a http keepalive of true.
2nd, requests were going through a proxy server, and this was affecting things. Once we disabled the proxy server for the apps server where the requests were originating, the process worked.
Thank.
Toby -
Query PI 7.1 - Sender SOAP Adpater & Testing
Hi,
I have SOAP to RFC scenario. My client (3rd Party) has provided me below webservice :-
---> http://115.119.23.132/sapwebservice/service.asmx?op=save_so
--> I have Import the WSDL file as external definitions, Created an Service Interface u2013 Outbound with external Message .
I have two Queries :-
1. In 7.1, Sender SOAP Configuration, there is no option like (below) that we had in 3.0 & 7.0
u2022 Use Query String
Daflault XI Parameters
Default Interface Namespace
Default Interface Name
How to link the scneario with Interface (ESR) ?
2. How to Test this scenario ?
Thanks.Hi Anshul,
--> If the client is providing the WSDL file they are consider as the service provider.So you need to consume the webservice using PI.
-->For consuming the Webservice you need to configure the receiver SOAP Adapter where you have to provide the SOAP Action and Target URL in the receiver CC.
-->In the PI 7.1 sender soap adapter will not have all the parameters like PI7.0,WSDL will be generated based on the sender agreement which is not there in PI7.0.Since from PI7.1 we have the concept of multiple operations.
-->
Please re-check your interface designing,as per view it would be like
SAP System (RFC Adapter)-->PI7.1--->Third Party Webservice(Receiver SOAP Adapter)
Thanks -
Converting Base64Binary to PDF document in BSP
Hello SDN users,
I am trying to get and display a pdf document from a webservice which is provided as a base64binary.
The interface of the webservice tells me that the response type (the actual pdf document) is an xsd:base64Binary.
The webservice proxy class generates an RAWSTRING for the pdf document as the response from the webservice call.
So my first guess was to use following class method to convert the base64binary to a normal string
CALL METHOD cl_http_utility=>if_http_utility~decode_base64
EXPORTING
encoded = lv_out_char " RAWSTRING from webservice
RECEIVING
decoded = lv_out_char_decoded.
My second guess was to create an xstring from this converted string via
CALL FUNCTION 'SCMS_STRING_TO_XSTRING'
EXPORTING
text = lv_out_char_decoded"
mimetype = 'APPLICATION/PDF'
IMPORTING
buffer = lv_out_charx.
My next assumption was to create otf-data via function module so that I can send the otf data to the http server cache.
lv_pdf_len = XSTRLEN( lv_out_charx ).
call function 'CONVERT_OTF'
EXPORTING
format = 'PDF'
IMPORTING
bin_filesize = lv_pdf_len
bin_file = lv_out_charx
TABLES
OTF = LT_OUTPUT_DATA-OTFDATA
LINES = LT_LINES
EXCEPTIONS
err_max_linewidth = 1
err_format = 2
err_conv_not_possible = 3
err_bad_otf = 4
others = 5.
My Problem is, that I get back error code 4 which means bad otf.
Does anyone has a hint how I need to convert the base64binary from the webservice to a right format?
That would be great!Hello Durairaj,
thank you very much for your answer,
is it usual that the method
CALL METHOD cl_http_utility=>if_http_utility~decode_base64
EXPORTING
encoded = lv_out_char " RAWSTRING from webservice
RECEIVING
decoded = lv_out_char_decoded.
returns a string containg something like %pdf...? This was not the case with my method call.
But on friday I found out why. the string I received from the webservice was actually an XSTRING which I found out during a debugging session. The method return parameter was declared as RAWSTRING so I assumed that I had to convert from Base64 to STRING and then to XSTRING. When I aborted all the converting routines
if_http_utility~decode_base64
and
CALL FUNCTION 'SCMS_STRING_TO_XSTRING'
and passed the XSTRING to the ICM server cache I received the pdf I wanted.
But anyway If you could confirm my second question how a a decoded Base64 attribute should look like I would be very happy.
Regards,
Sebastian -
Web service XML-Java conversion
Hello,
It's said in BEA documentation that "web services tries to convert the XML
data inside the body of the SOAP message into one of the Java data types
listed
in "Supported Data Type...." see link for quote source.
Does this mean, BEA SOAP servlet does javaBean serialization/deserialization
automaticly
without user defining any data type mapping ?
in Apache SOAP implementation, user has to add a mapping element to specify
how SOAP
server should handle custom parameters such as a java object.
http://edocs.bea.com/wls/docs61/webServices/develop.html#1049481
ur prompt response is most appreciated.
thank you and regards.
Sheldon Yangmarekst wrote:
webservice receives xml data as parameter or webservice use SOAP XML letter to receive data?
if you get xml as parameter then you have to process XML to get java objects, if it is SOAP letter, then webservice has done job for you and you get set of java objects that should be persisted.
To persist data easiest way is to use EJB 3.0 and JPA. Webservice create using EJB 3.0 is easy as well.
to convert data in XML into java objects you can use DOM document + xPath or http://commons.apache.org/digester/ or something else, depending on size of XML doc
No need to be muddying the waters with such a heavyweight solution at this point. The guy's a relative newbie, and also has stated that the number of messages is very small. The simple APIs suggested above are much more in order, otherwise the guy's got a massive learning curve ahead of him, for no real benefit. Besides, you've not mentioned ESBs, message routing, EIP and the like, so your buzzword-compliance score has dropped dramatically :-) -
Hi,
I have a requirement where the scenario is Proxy to SOAP (synchronous) from SAP CRM to the third party system. On XI we have a web service which will be invoked to create a SOAP request and receive SOAP Response.
Can someone please tell the Step by Step procedure for this scenario and what all objects need to be created in IR and ID.
Thanks,
VikasHi Vikas,
I think you are quite new to XI.
The IR objects need to be created for this scenario are listed below.
1. 2 data types one for request proxy(outbound) and the other one for response proxy(inbound) and 2 message types associating these two data types.
2. You need to import WSDL files (for Request and Response webservice schema) under the External Definitions Tab.
3. 2 message Interfaces one for outbound and the other one for inbound(both will be synchronous), select output message and input messages accordingly.
4. Two message mappings one from Proxy to webservice and the other one fron Websevice to proxy
5. One interface Mapping.
Activate all the IR objects when they are created.
ID objects need to be created for this scenario
1. Create a configuration scenario
2. Assign sender and receiver business systems to this configuration scenario from the Objects Tab.
(you can also create a business service, incase the business system is not defined in SLD)
3. Create 2 communication channels, one under each business system.
For exp: suppose the names of sender and receiver systems are SAP and Webservice respectively.
Create a communication channel for exp: proxy_sender for SAP system.
Attributes for communication channel Proxy_sender are:
Channel Name: Proxy_sender
Serveice: SAP (sender Busines system in your case)
Adapter type: XI(browse it from the list) and check the radio button sender.
Transport protocol: HTTP 1.0
Message protocol: XI 3.0
Adapter Engine: Integration server(if you are using any non central adapter engine then select the same from the list)
select the HTTP security depending on the requirement.
Create another communication channel for exp: SOAP_Receiver for webservice system.
Attributes of communication channel SOAP_Receiver are:
Channel Name: SOAP_Receiver
Serveice: Webservice(receiver Busines system in your case)
Adapter type: SOAP(browse it from the list) and check the radio button Receiver.
Transport protocol: HTTP
Message protocol: SOAP 1.1
Adapter Engine: Integration server(if you are using any non central adapter engine then select the same from the list)
Target URL: Mention the URL of the server where the webservice is executed.
Configure the
Receiver Determination,Interface Determination,Sender Agreement and Receiver Agreement for this scenario.
Activate all the objects created under the configuration scenario from the change lists Tab.
I beleive it is good enough to start with, although I have not explained the configuration steps in details.You start the implementation, in case you have any doubts please post it.
Best Regards,
Nitin...
Maybe you are looking for
-
Problem with cheque printing in production Server Tcode - FBZ5
Hi Cheque Printing using SAPScript with TCODE FBZ5. I had a problem with cheque printing in production Server. TCODE - FBZ5 It is working fine in Development Server with proper alligned data but not coming alligned data in production server. I compar
-
Accessing ESSO Reporting Services Console
Hi to everyone, I have just deployed the Oracle ESSO Reporting Services (version 11.1.1.5.0) with MS SQL Server 2008 R2 database to collect events about ESSO-LM. Both the Reporting Console and database are on the same server with Windows Server 2008
-
ITunes does not open automatically when I connect my iPhone 4.
Yes......I have checked off the necessary box on the "home page". iTunes DOES open when I connect my iPod. Any ideas?
-
Hi, I have whole configuration set for sending the IDOCS from SAP to BIZTALK like the RFC Destination, port definition, partner profile. Even the BIZTALK is configured to receive the messages...But when I create the material master IDOCS thru the cha
-
Prerequisites for configuring RMAN
Hi All, My database is in AIX Box.. I have to configure Rman backup in Windows system.. What are all the prerequisites for configuring the Rman?