Decrypt the response SOAP message
Hi Everybody !!!
Another doubt concerning SOAP Security. I have configured SOAP Receiver adapter and Receiver Agreement for encrypting the (request) message that is sent to a Web Service. What about the response message? There's no place in the Receiver Agreement where I can choose the private key to use to decrypt the encrypted response message.
Julio
Hi Julio,
If you are using communication channel security, then whole channel is encrypted .
The same connection is live until you get back the response.
Response is not coming on different channel. It is same. The whole communication is encrypted on that HTTP channel.
But if you are calling some other Web Service from XI, then you have to import the key of that service provider.( and it is possible only if the service provider is providing encryption )
Hope this helps,
Regards,
Piyush
Similar Messages
-
Issue in receiving custom header in response SOAP message
Hi,
I have created a simple BPEL process with custom headers in request and response message.
I tried to send SOAP message through SOAPUI tool. Service is getting instantiated, able to access the request header and able to send response message. But only body is send as response message. Header is not sent in the response message.
Also tried to invoke the above service through another BPEL process. I could able to send the header through request but not able to receive the header in response message.
Pls. throw some light on this..
Regards
Jude.Hi,
Input request is working as you mentioned but the output custom headers are not working. When I use bpelx:outputHeaderVariable="varOutManifest" I am getting exception while running the interface. So I used bpelx:outputHeaderVariables="varOutManifest" but I am not getting back the custom header from the partner service to the variable.
Any hint.
receive:
bpelx:headerVariable="varManifest varSecurity"
reply:
bpelx:inputHeaderVariable="varOutManifest"
Invoke:
bpelx:outputHeaderVariables="varOutManifest"
bpelx:inputHeaderVariable="varManifest varSecurity"
Is anything wrong?
I am on 10.1.3.3.1 MLR # 14. I am getting following exception when I use bpelx:outputHeaderVariable.
<2009-03-06 17:33:36,840> <ERROR> <default.collaxa.cube> <BaseCubeSessionBean::logError> Error while invoking bean "delivery": [com.oracle.bpel.client.ServerException: 1] -> [java.lang.ArrayIndexOutOfBoundsException: 1]
java.lang.ArrayIndexOutOfBoundsException: 1
at com.collaxa.cube.ejb.impl.DeliveryBean.request(DeliveryBean.java:109)
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:585)
at com.evermind.server.ejb.interceptor.joinpoint.EJBJoinPointImpl.invoke(EJBJoinPointImpl.java:35)
at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
at com.evermind.server.ejb.interceptor.system.DMSInterceptor.invoke(DMSInterceptor.java:52)
at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
at com.evermind.server.ejb.interceptor.system.JAASInterceptor$1.run(JAASInterceptor.java:31)
at com.evermind.server.ThreadState.runAs(ThreadState.java:646)
at com.evermind.server.ejb.interceptor.system.JAASInterceptor.invoke(JAASInterceptor.java:34)
at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
at com.evermind.server.ejb.interceptor.system.TxRequiredInterceptor.invoke(TxRequiredInterceptor.java:50)
at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
at com.evermind.server.ejb.interceptor.system.DMSInterceptor.invoke(DMSInterceptor.java:52)
at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
at com.evermind.server.ejb.InvocationContextPool.invoke(InvocationContextPool.java:55)
at com.evermind.server.ejb.StatelessSessionEJBObject.OC4J_invokeMethod(StatelessSessionEJBObject.java:87)
at DeliveryBean_RemoteProxy_4bin6i8.request(Unknown Source)
at com.collaxa.cube.ws.soap.oc4j.SOAPRequestProvider.processNormalOperation(SOAPRequestProvider.java:451)
at com.collaxa.cube.ws.soap.oc4j.SOAPRequestProvider.processBPELMessage(SOAPRequestProvider.java:274)
at com.collaxa.cube.ws.soap.oc4j.SOAPRequestProvider.processMessage(SOAPRequestProvider.java:120)
at oracle.j2ee.ws.server.provider.ProviderProcessor.doEndpointProcessing(ProviderProcessor.java:956)
at oracle.j2ee.ws.server.WebServiceProcessor.invokeEndpointImplementation(WebServiceProcessor.java:349)
at oracle.j2ee.ws.server.provider.ProviderProcessor.doRequestProcessing(ProviderProcessor.java:466)
at oracle.j2ee.ws.server.WebServiceProcessor.processRequest(WebServiceProcessor.java:114)
at oracle.j2ee.ws.server.WebServiceProcessor.doService(WebServiceProcessor.java:96)
at oracle.j2ee.ws.server.WebServiceServlet.doPost(WebServiceServlet.java:177)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:763)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
at com.evermind.server.http.ResourceFilterChain.doFilter(ResourceFilterChain.java:65)
at oracle.security.jazn.oc4j.JAZNFilter$1.run(JAZNFilter.java:396)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAsPrivileged(Subject.java:517)
at oracle.security.jazn.oc4j.JAZNFilter.doFilter(JAZNFilter.java:410)
at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:623)
at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:370)
at com.evermind.server.http.HttpRequestHandler.doProcessRequest(HttpRequestHandler.java:871)
at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:453)
at com.evermind.server.http.HttpRequestHandler.serveOneRequest(HttpRequestHandler.java:221)
at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:122)
at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:111)
at oracle.oc4j.network.ServerSocketReadHandler$SafeRunnable.run(ServerSocketReadHandler.java:260)
at oracle.oc4j.network.ServerSocketAcceptHandler.procClientSocket(ServerSocketAcceptHandler.java:239)
at oracle.oc4j.network.ServerSocketAcceptHandler.access$700(ServerSocketAcceptHandler.java:34)
at oracle.oc4j.network.ServerSocketAcceptHandler$AcceptHandlerHorse.run(ServerSocketAcceptHandler.java:880)
at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:303)
at java.lang.Thread.run(Thread.java:595)
Caused by: java.lang.ArrayIndexOutOfBoundsException: 1
at com.collaxa.cube.engine.ext.wmp.BPELInvokeWMP.__callback(BPELInvokeWMP.java:626)
at com.collaxa.cube.engine.ext.wmp.BPELInvokeWMP.__executeStatements(BPELInvokeWMP.java:436)
at com.collaxa.cube.engine.ext.wmp.BPELActivityWMP.perform(BPELActivityWMP.java:195)
at com.collaxa.cube.engine.CubeEngine.performActivity(CubeEngine.java:3703)
at com.collaxa.cube.engine.CubeEngine.handleWorkItem(CubeEngine.java:1652)
at com.collaxa.cube.engine.dispatch.message.instance.PerformMessageHandler.handleLocal(PerformMessageHandler.java:75)
at com.collaxa.cube.engine.dispatch.DispatchHelper.handleLocalMessage(DispatchHelper.java:184)
at com.collaxa.cube.engine.dispatch.DispatchHelper.sendMemory(DispatchHelper.java:281)
at com.collaxa.cube.engine.CubeEngine.endRequest(CubeEngine.java:5689)
at com.collaxa.cube.engine.CubeEngine.createAndInvoke(CubeEngine.java:1082)
at com.collaxa.cube.engine.ejb.impl.CubeEngineBean.createAndInvoke(CubeEngineBean.java:132)
at com.collaxa.cube.engine.ejb.impl.CubeEngineBean.syncCreateAndInvoke(CubeEngineBean.java:161)
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:585)
at com.evermind.server.ejb.interceptor.joinpoint.EJBJoinPointImpl.invoke(EJBJoinPointImpl.java:35)
at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
at com.evermind.server.ejb.interceptor.system.DMSInterceptor.invoke(DMSInterceptor.java:52)
at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
at com.evermind.server.ejb.interceptor.system.JAASInterceptor$1.run(JAASInterceptor.java:31)
at com.evermind.server.ThreadState.runAs(ThreadState.java:646)
at com.evermind.server.ejb.interceptor.system.JAASInterceptor.invoke(JAASInterceptor.java:34)
at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
at com.evermind.server.ejb.interceptor.system.TxRequiresNewInterceptor.invoke(TxRequiresNewInterceptor.java:52)
at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
at com.evermind.server.ejb.interceptor.system.DMSInterceptor.invoke(DMSInterceptor.java:52)
at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
at com.evermind.server.ejb.InvocationContextPool.invoke(InvocationContextPool.java:55)
at com.evermind.server.ejb.StatelessSessionEJBObject.OC4J_invokeMethod(StatelessSessionEJBObject.java:87)
at CubeEngineBean_LocalProxy_4bin6i8.syncCreateAndInvoke(Unknown Source)
at com.collaxa.cube.engine.delivery.DeliveryHandler.initialRequestAnyType(DeliveryHandler.java:515)
at com.collaxa.cube.engine.delivery.DeliveryHandler.initialRequest(DeliveryHandler.java:457)
at com.collaxa.cube.engine.delivery.DeliveryHandler.request(DeliveryHandler.java:131)
at com.collaxa.cube.ejb.impl.DeliveryBean.request(DeliveryBean.java:95)
... 48 more
Thanks,
Arul
Edited by: user599098 on Mar 6, 2009 2:42 PM -
ApplicationResponseFault with namespace longer than 60 in sync soap message
Hi,
we are on pi 7.0 and our scenario is a async-sync bpm. In the sync soap message, the webservice raise an application error. In the response soap message we get the following detail tag:
<detail><ApplicationResponseFault xmlns="http://schemas.datacontract.org/2004/07/BizLayerNT.ServiceLayer.v10"><DocumentResponse xmlns="urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"><Response><ResponseCode xmlns="urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2">BusinessReject</ResponseCode></Response></DocumentResponse></ApplicationResponseFault></detail>
In sxi_monitor this application error isn't caught and a system error is generated.
In the system error message we get:
<SAP:Category>XIServer</SAP:Category>
<SAP:Code area="INTERNAL">HTTP_RESP_STATUS_CODE_NOT_OK</SAP:Code>
<SAP:P1>500</SAP:P1>
<SAP:P2>Internal Server Error</SAP:P2>
<SAP:P3 />
<SAP:P4 />
<SAP:AdditionalText>java.lang.NullPointerException at java.util.Hashtable.put(Hashtable.java:393) at com.sap.aii.messaging.mo.MessageContext.setAttribute(MessageContext.java:140) at com.sap.aii.adapter.xi.ms.XIMessage.updateHeaders(XIMessage.java:4271) at com.sap.aii.adapter.xi.ms.XIMessage.getTransportHeaders(XIMessage.java:572) at com.sap.aii.af.ra.ms.impl.ServerConnectionImpl.request(ServerConnectionImpl.java:212) at
In defaulttrace.trc we get ","<sap:ApplicationFaultMessageNamespace> is longer than 60 characters: http://schemas.datacontract.org/2004/07/BizLayerNT.ServiceLayer.v10",":
"09/04/2009","10:22:43:421","unable to generate the header map","Error","","com.sap.aii.adapter.xi.ms.XIMessage.getHeaderMap()","sap.com/com.sap.aii.af.app","SAPEngine_Application_Thread[impl:3]_14","34103150:F:\usr\sap\TPI\DVEBMGS03\j2ee\cluster\server0\log\defaultTrace.trc","001A64317EEE005E00005F2300000A6C000472BC344957CC","com.sap.aii.adapter.xi.ms.XIMessage","","","n/a","b82f88e0992b11dea4d8001a64317eee","","0","0","","0","","","0","com.sap.aii.adapter.xi.ms.XIMessage","SAPEngine_Application_Thread[impl:3]_14","","J2EE_GUEST",
"09/04/2009","10:22:43:421","<sap:ApplicationFaultMessageNamespace> is longer than 60 characters: http://schemas.datacontract.org/2004/07/BizLayerNT.ServiceLayer.v10","Error","","com.sap.aii.messaging.mo.xmb.XMBErrorHeader.marshal(XMLWriter)","sap.com/com.sap.aii.af.app","SAPEngine_Application_Thread[impl:3]_14","34103150:F:\usr\sap\TPI\DVEBMGS03\j2ee\cluster\server0\log\defaultTrace.trc","001A64317EEE005E00005F2200000A6C000472BC34495771","com.sap.aii.messaging.mo.xmb.XMBErrorHeader","http://schemas.datacontract.org/2004/07/BizLayerNT.ServiceLayer.v10,","http://schemas.datacontract.org/2004/07/BizLayerNT.ServiceLayer.v10,","n/a","b82f88e0992b11dea4d8001a64317eee","","0","0","","1","","","0","com.sap.aii.messaging.mo.xmb.XMBErrorHeader","SAPEngine_Application_Thread[impl:3]_14","","J2EE_GUEST",
"09/04/2009","10:22:43:421","Could not process message from 192.168.130.21 due to java.lang.NullPointerException.","Error","","com.sap.aii.af.ra.ms.impl.core.transport.http.MessagingServlet.doPost(HttpServletRequest, HttpServletResponse)","sap.com/com.sap.aii.af.ms.app","SAPEngine_Application_Thread[impl:3]_55","34103150:F:\usr\sap\TPI\DVEBMGS03\j2ee\cluster\server0\log\defaultTrace.trc","001A64317EEE0083000072F700000A6C000472BC344955F3","com.sap.aii.af.ra.ms.impl.core.transport.http.MessagingServlet","192.168.130.21,java.lang.NullPointerException,","192.168.130.21,java.lang.NullPointerException,","SAPDES_TPI_34103150","1d72b100992c11dec67f001a64317eee","PIISUSER","0","0","","1","","","15337","com.sap.aii.af.ra.ms.impl.core.transport.http.MessagingServlet","SAPEngine_Application_Thread[impl:3]_55","","PIISUSER",
"09/04/2009","10:22:43:421","The SAP XI Adapter Framework Messaging Service caught an exception during rendering an XML Message. Details can be found in the trace file for Location com.sap.aii.messaging.mo.xmb. Action: Please contact SAP Support and provide the trace file.","Error","/Applications/ExchangeInfrastructure/AdapterFramework/SAPLibraries/SAPXDK","com.sap.aii.messaging.mo.xmb.XMBErrorHeader.marshal(XMLWriter)","sap.com/com.sap.aii.af.app","SAPEngine_Application_Thread[impl:3]_14","34103150:F:\usr\sap\TPI\DVEBMGS03\j2ee\cluster\server0\log\defaultTrace.trc","001A64317EEE005E00005F2000000A6C000472BC3449559F","com.sap.aii.messaging.mo.xmb.XMBErrorHeader","","","n/a","b82f88e0992b11dea4d8001a64317eee","","0","0","","0","/Applications/ExchangeInfrastructure/AdapterFramework/SAPLibraries/SAPXDK","","0","com.sap.aii.messaging.mo.xmb.XMBErrorHeader","SAPEngine_Application_Thread[impl:3]_14","","J2EE_GUEST",
So I think the problem is due to the namespace length. I'm right?
We can't change the consumed webservice to reduce namespace length and our customer ask us to solve it in PI. Is there any way to change the namespace before to be treated and get a correct application error?
Thanks in advance,
Marc
Edited by: Marc Mauri on Sep 5, 2009 12:06 PMHi Neetesh,
we developed our own adapter module. We use it in our receiver soap adapter, module tab, before and after the standard module sap.com/com.sap.aii.af.soapadapter/XISOAPAdapterBean.
In this audit log secuence you can see that the problem seems not to be solved, because the error is triggered when processing response message inside adapter module sap.com/com.sap.aii.af.soapadapter/XISOAPAdapterBean, so our module is not called and the problem remains.
2009-09-22 19:06:41 Success Message successfully received by messaging system. Profile: XI URL: http://sapdes:50300/MessagingSystem/receive/AFW/XI Credential (User): PIISUSER
2009-09-22 19:06:41 Success The message status set to DLNG.
2009-09-22 19:06:41 Success Delivering to channel: CC_WS_DOS
2009-09-22 19:06:41 Success MP: Entering module processor
2009-09-22 19:06:41 Success MP: Processing local module *localejbs/AM_OWN_MODULE*
2009-09-22 19:06:41 Success GetHostName: Module called
2009-09-22 19:06:41 Warning Inside my own adapter Module <-- THIS IS A TRACE MESSAGE CODED INSIDE OUR MODULE
2009-09-22 19:06:41 Success MP: Processing local module localejbs/sap.com/com.sap.aii.af.soapadapter/XISOAPAdapterBean
2009-09-22 19:06:41 Success SOAP: request message entering the adapter with user J2EE_GUEST
2009-09-22 19:06:41 Success SOAP: Web Services Security processing...
2009-09-22 19:06:41 Success SOAP: apply Web Services Security...
2009-09-22 19:06:41 Success SOAP: Web Services Security applied.
2009-09-22 19:06:42 Success SOAP: completed the processing
2009-09-22 19:06:42 Success SOAP: continuing to response message 4d2c88e0-a79a-11de-9ffa-001a64317eee
2009-09-22 19:06:42 Error SOAP: response message contains an error Application/UNKNOWN/APPLICATION_ERROR - application fault <----
THIS ERROR IS DUE TO NAMESPACE LENGHT (WE CAN SEE THIS ERROR IN DEFAULT_TRACE.LOG)
2009-09-22 19:06:42 Success MP: Processing local module localejbs/AM_OWN_MODULE
2009-09-22 19:06:42 Success MP: Leaving module processor
2009-09-22 19:06:43 Success The message was successfully delivered to the application using connection SOAP_http://sap.com/xi/XI/System. 2009-09-22 19:06:43 Success The message status set to DLVD.
Any suggestion?
Thanks in advance, -
Splitting an incoming SOAP message
Hi All,
My Scenario is FILE --> PI --> Webservice --> File (Synch with BPM Asyn Synch procedure).
I am sending an XML request file with 2 fields and getting Reponse message from WebSerive . The response SOAP message is going to be huge amount of data with 200K Records (app 120 MB) .
want to know about any option availble to split an incoming SOAP message into smaller messages and process through PI ?
Thanks ans Regrads,
Midhusha.>I am sending an XML request file with 2 fields and getting Reponse message from WebSerive . The response SOAP message is going to be huge amount of data with 200K Records (app 120 MB) .
I am not sure if we can receive 120 MB message in one trasaction in synchronous fashion, until unless if you have a good network bandwidth.
My suggestion would be, have this process in asynchronous fashion. Have two asynchronous webservices, one takes the requests formulates message and then triggers the second webservice in async fashion.
since the message is huge you can trigger mulitple chunk calls.
Regards,
Praveen Gujjeti
Edited by: Praveen Gujjeti on Nov 3, 2010 10:28 AM -
View the webservice soap request/response
Hi,
I am in wls81sp4. I have some webservice developed in workshop. And I created webservice controls for them. When the webservice is called in jsp, I couldn't see the request/response soap message on wls console even though I set -Dweblogic.debug.webservice=true -Dweblogic.webservice.verbose=true. I have another webservice, the client is the proxy, and I can see the message on console.
How can I see the message from calling the control? ThanksHI Ronald,
To get the SOAP Fault into your orchestration:
1) On the Send port in BizTalk:
a) WCF Adapter Properties, Messages tab: Propagate Fault Message = true
b) WCF Adapter Properties, Messages tab: Inbound message body: Either use "soap:Body" or use a path that extracts your message OR /*[local-name()='Fault'] to get the SOAP fault
c) "Enable routing for failed messages" - this has no impact on the SOAP Fault. So you probably want it set to true to handle real transmission errors (non SOAP faults).
2) On the Send port within your orchestration
- Select the operation & then "New Fault Message"
- Set the message name to SoapFault (or whatever)
- Set the message type to be the referenced schema: BTS.soap_envelope_1__2.Fault. (If this was a SOAP 1.1 operation you would use BTS.soap_envelope_1__1.Fault).
3) In the Scope around your Send operation
- Add new exception handler
- Select "Exception Object Type" to the port-name.operation-name.SoapFault you created in step 2
- Specify the object name, e.g. Fault
- Fault is now the XML of the SOAP Fault & you can use XPath to get the Fault Reason and Message elements.
Refer:
How to catch and process SOAP faults
MSDN has explained the process in detail:
Using BizTalk Server Exception Handling. You can blindly follow it.
Please mark as answer or vote as helpful if my reply does -
We need a small SSIS package to pass a SOAP message to a SOAP server and receive the response xml message.
We have the SOAP Endpoint, SOAP Action, and SOAP Message (which contains authentication elements). They work in a Talend Data Integration job (using
Talend's tSOAP component). A screenshot showing the Talend job and the configuration of the tSOAP component
is attached.
We need to implement the same thing in a Microsoft SQL Server 2012 SSIS package but haven't been able to get an SSIS Web Services task to work.
We haven't been able to configure it to pass the SOAP Action and SOAP Message.
How should this be accomplished in SSIS?
kholbergerI guess I was not clear. The Talend job works perfectly (and it took only a few minutes to configure).
I need to replicate the SOAP request function in an SSIS package. I've been trying to configure an SSIS Web Services Task to do that without success.
The SSIS Web Service Task asks for the .wsdl file, which I provide (though the Talend component
does not ask for it), but the SSIS WST does not ask for the SOAP Action or SOAP message. The target web service is protected by a security gateway that rejects the SSIS WST request. Somehow, the Talend tSOAP component sends the
SOAP message, which contains the security definition and authentication credentials (you can see part of that in the screen shot) which the endpoint accepts.
The question is: "How does one implement a SOAP web service request in an SSIS package that sends the SOAP Message".
Thanks.
kholberger -
PayPal integration using SOAP messages
Hello,
for a integration scenario we want to call a PayPal SOAP API as described in https://www.x.com/docs/DOC-1244.
The PayPal safety requirements are fullfilled by giving a Username, Password and Signature in the SOAP Header:
<SOAP-ENV:Header>
<RequesterCredentials xmlns=u201Durn:ebay:api:PayPalAPIu201D xsi:type=u201Debl:CustomSecurityHeaderTypeu201D>
<Credentials xmlns=u201Durn:ebay:apis:eBLBaseComponentsu201D xsi:type=u201Debl:UserIdPasswordTypeu201D>
<Username>api_username</Username>
<Password>api_password</Password>
<Signature>api_signature</Signature>
<Subject>authorizing_account_emailaddress</Subject>
</Credentials>
</RequesterCredentials>
</SOAP-ENV:Header>
I have given the three values as Adapter-Specific Message Attributes filled by UDF in Message Mapping.
The filled values are also visible in monitoring in section DynamicConfiguration.
SOAP Adapter: http://s3.directupload.net/file/d/2127/r8y4aywt_jpg.htm
Monitoring: http://s5.directupload.net/file/d/2127/cqvfds35_jpg.htm
But PayPal responded:
Authentication/Authorization Failed
You do not have permissions to make this API call
My credentials are ok. I have tested it within the PayPal NVP API Tester: http://www.shopsandbox.de/PayPal/Refund/ .
How do I have to manipulate the SOAP header for a successful SOAP API call?
Is it necessary also to insert the nodes ?
If yes, how?
Thanks in advance,
AndréHi,
I´ve created the whole SOAP message in Message Mapping and changed the SOAP receiver adapter sending the message without envelope. But the response is:
ADAPTER.HTTP_EXCEPTION
HTTP 500 Internal Server Error
<?xml version="1.0" encoding="UTF-8"?>
<Envelope>
<Header>
<RequesterCredentials>
<Credentials>
<Username>xxxxx</Username>
<Password>xxxx</Password>
<Signature>xxxxxx</Signature>
</Credentials>
</RequesterCredentials>
</Header>
<Body>
<RefundTransactionReq>
<RefundTransactionRequest>
<Version>54.0</Version>
<TransactionID>xxxxxxxxx</TransactionID>
<InvoiceID>222222</InvoiceID>
<RefundType>Partial</RefundType>
<Amount>1</Amount>
<Memo>memotext</Memo>
</RefundTransactionRequest>
</RefundTransactionReq>
</Body>
</Envelope>
Have I missed sth?
Thanks,
André -
I am using a static client. Is there anyway to view the raw soap messages i recieve
back from the web service?To view the SOAP request and response messages, run your client application with
the -Dweblogic.webservice.verbose=true flag, as shown in the following example
that runs a client application called runService:
prompt> java -Dweblogic.webservice.verbose=true runService
The full SOAP request and response messages are printed in the command window
from which you ran your client application.
You can also configure WebLogic Server to print the SOAP request and response
messages each time a deployed WebLogic Web service is invoked by specifying the
-Dweblogic.webservice.verbose=true flag when you start WebLogic Server. The SOAP
messages are printed to the command window from which you started WebLogic Server.
Note: Because of possible decrease in performance due to the extra work of printing
debugging messages to the command window, BEA recommends you set this WebLogic
Server flag only during the development phase.
Regards
Shridhar
"pranav" <[email protected]> wrote:
>
Yes you can attach a handler and in that you can actucally play around
with message
before it is sent back and forth. You can have client side as well as
server side
handlers.
Pranav
"Casey Miller" <[email protected]> wrote:
I am using a static client. Is there anyway to view the raw soap messages
i recieve
back from the web service? -
Hii all :)
I want to send a soap message to my exchange server ,
can I write this soap as i was writing below or I need add another field (e.g credential \ Exchange server name , ip ....)
<?xml version="1.0" encoding="utf-8" ?>
<CreateItem xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
MessageDisposition="SendAndSaveCopy">
<SavedItemFolderId xmlns="http://schemas.microsoft.com/exchange/services/2006/messages">
<DistinguishedFolderId Id="sentitems" xmlns="http://schemas.microsoft.com/exchange/services/2006/types" />
</SavedItemFolderId>
<Items xmlns="http://schemas.microsoft.com/exchange/services/2006/messages">
<Message xmlns="http://schemas.microsoft.com/exchange/services/2006/types">
<ItemClass>IPM.Note</ItemClass>
<Subject>Daily Report</Subject>
<Body BodyType="Text">(1) Handled customer issues, (2) Saved the world.</Body>
<Sender>
<Mailbox>
<EmailAddress>[email protected]</EmailAddress>
</Mailbox>
</Sender>
<ToRecipients>
<Mailbox>
<EmailAddress>[email protected]</EmailAddress>
</Mailbox>
</ToRecipients>
</Message>
</Items>
</CreateItem>And what about :
EWS is described by three files:
(http://msdn.microsoft.com/en-us/library/dd877045(v=exchg.140).aspx)
"Services.wsdl Describes the contract between client and server.
Messages.xsd Defines the request and response SOAP messages.
Types.xsd Defines the elements used in the SOAP messages.
"These schema files are located in the IIS virtual directory that hosts Exchange Web Services of the computer that is running Microsoft Exchange Server that has the Client Access server role installed."
Do I have to install these files in the IIS virtual directory (from where i get these files)
and what a bout
http://msdn.microsoft.com/en-us/library/dd633626(v=exchg.80).aspx
Enable access to Exchange Web Services for mailbox owners and/or EWS Managed API client applications.
Reference the EWS Managed API assembly.
Validate X509 certificates for SSL over HTTP.
Connect to Exchange Web Services by using the ExchangeService class.
I don't understand what these steps mean ! can you help me? -
Hi All,
I need to create a web service in Workshop that sends the received SOAP message
body to a queue without mapping it to Java object i.e. the JMS message type is
text message and not Object message. I would very much appreciated if anyone out
there who can advise me on this.
Thanks in advance.
Regards,
Boon KeongHi,
Are you open for other solutions besides Workshop?
WebLogic Server provides another Web Service implementation outside of Workshop.
This web service implentation has a concept of handlers which intercept SOAP
messages. It is a way to gain access to the SOAP message. You could then route
the SOAP message to a JMS queue from the handler.
These URLs will help:
http://e-docs.bea.com/wls/docs70/webserv/index.html
http://e-docs.bea.com/wls/docs70/webserv/design.html#1053805
Also, there is an examples in the WebLogic Server 7.0 installation:
%BEA_HOME%\samples\server\src\examples\webservices\handler
hope this helps,
pat
"Boon Keong" <[email protected]> wrote:
>
Hi All,
I need to create a web service in Workshop that sends the received SOAP
message
body to a queue without mapping it to Java object i.e. the JMS message
type is
text message and not Object message. I would very much appreciated if
anyone out
there who can advise me on this.
Thanks in advance.
Regards,
Boon Keong -
SOAP message size limitation for sender soap adapter
Hi All,
We are facing critical production issue in case of sender SOAP Adapter,
If the sender soap message is having 114359 Bytes than the Third party is getting exception and SOAP request is not reaching XI.
If the message size is less then 100kbytes then no exception will come.
Is this a limitation that SOAP message size should not exceed 100kbyte?
Thnaks in advance
Best Regards,
Harleen Kaur ChadhaHi ,
Thanks for your inputs,Could you please tell me which hardware configurations are you talking about?
Are you people talking about harware configurations for XI?
Best Regards,
Harleen Kaur Chadha -
Outbound SOAP Message with Attachment
The requirement is to invoke a web service by sending attachments in the outbound SOAP message. The attachment body needs to be assigned in the message flow, using an element E1 extracted from the message incoming into the flow.
I am trying to use attachments variable to set content-type (text/xml) and body using E1. However, these are not getting assigned to attachments variable, as seen by logging the variable.
I was told that $attachments cannot be changed inside the flow (it is marked black in the console unlike the header and body that are marked green). If that is the case, how do we invoke services using attachments from a message flow?
Any pointers would be appreciated.Hi,
A SOAP message may need to be transmitted together with attachments of various sorts, ranging from facsimile images of legal documents to engineering drawings. Such data are often in some binary format. For example, most images on the Internet are transmitted using either GIF or JPEG data formats. In this document we describe a standard way to associate a SOAP message with one or more attachments in their native format in a multipart MIME structure for transport.
yes it is possible to send attachment with the SOAP.
SOAP Message Packages
A "SOAP message package" contains a primary SOAP 1.1 message. It may also contain additional entities that are not lexically within the SOAP message but are related in some manner. These entities may contain data in formats other than XML. The primary SOAP 1.1 message in a message package may reference the additional entities. Such additional entities are often informally referred to as "attachments." This section describes how to construct SOAP message packages and how SOAP processors will process them.
A SOAP message package is constructed using the Multipart/Related media type, which is defined in RFC 2387. The rules for the construction of SOAP message packages are as follows:
The primary SOAP 1.1 message must be carried in the root body part of the Multipart/Related structure. Consequently the type parameter of the Multipart/Related media header will always equal the Content-Type header for the primary SOAP 1.1 message, i.e., text/xml.
The MIME Multipart/Related encapsulation of a SOAP message is semantically equivalent to a SOAP protocol binding in that the SOAP message itself is not aware that it is being encapsulated. That is, there is nothing in the primary SOAP message proper that indicates that the SOAP message is encapsulated .
For more details you can refer these links
http://www.w3.org/TR/SOAP-attachments
http://www.w3.org/TR/soap12-af/
regards
Aashish Sinha
PS : reward points if helpful -
Hi All,
I have a requirement wherin I have to send an attachment(image) along with the soap payload.i.e. the soap message contains the payload and an attachment.For eg. the soap message is as shown below:
<?xml version="1.0" encoding="UTF-8" ?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Body>
<ns1:MT_Soap xmlns:ns1="http://www.adc.com/sample">
<Record>
<FieldXML>abc</FieldXML>
<FieldAthmt />
</Record>
</ns1:MT_Soap>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
How can I include the attachment(which is on a local machine) in the above soap message?
Is it posssible to send the attachment in the field "FieldAtthmt"?
If it is possible to send an attachment with the soap message then how can that attachment be handled in XI?
Thanks in advance,
VikramHi,
A SOAP message may need to be transmitted together with attachments of various sorts, ranging from facsimile images of legal documents to engineering drawings. Such data are often in some binary format. For example, most images on the Internet are transmitted using either GIF or JPEG data formats. In this document we describe a standard way to associate a SOAP message with one or more attachments in their native format in a multipart MIME structure for transport.
yes it is possible to send attachment with the SOAP.
SOAP Message Packages
A "SOAP message package" contains a primary SOAP 1.1 message. It may also contain additional entities that are not lexically within the SOAP message but are related in some manner. These entities may contain data in formats other than XML. The primary SOAP 1.1 message in a message package may reference the additional entities. Such additional entities are often informally referred to as "attachments." This section describes how to construct SOAP message packages and how SOAP processors will process them.
A SOAP message package is constructed using the Multipart/Related media type, which is defined in RFC 2387. The rules for the construction of SOAP message packages are as follows:
The primary SOAP 1.1 message must be carried in the root body part of the Multipart/Related structure. Consequently the type parameter of the Multipart/Related media header will always equal the Content-Type header for the primary SOAP 1.1 message, i.e., text/xml.
The MIME Multipart/Related encapsulation of a SOAP message is semantically equivalent to a SOAP protocol binding in that the SOAP message itself is not aware that it is being encapsulated. That is, there is nothing in the primary SOAP message proper that indicates that the SOAP message is encapsulated .
For more details you can refer these links
http://www.w3.org/TR/SOAP-attachments
http://www.w3.org/TR/soap12-af/
regards
Aashish Sinha
PS : reward points if helpful -
How to get SOAP Message while Request in WebService.. ?
i am working on Web Logic WebService. I have created Web service and deployed into server.
But now is there any ways to get the SOAP Message while request because i want to add some headers to the my SOAP Message before it sent to the backend.
SOAPMessageContext smc=null;
SOAPMessage soapMsg = smc.getMessage();
System.out.println("SOAP MESSAGE :"+soapMsg);
But I am getting NullPointerException.
any Help ??...
ThankQ.
AjayHi
In your code the NullPointerException is expected as the message context is null and not initialized before you call getMessage method on it.
You can use soap handlers (client/server side handlers) to add the headers to the message before it is sent to the server.
Soap handler has methods like below in which you can add the headers.
* Handles incoming web service requests and outgoing callback requests
public boolean handleRequest(MessageContext mc)
System.out.println("Soap message is: \n " +
((SOAPMessageContext)mc).getMessage() + "\n");
return true;
More docs at http://e-docs.bea.com/wls/docs100/webserv_adv/handlers.html
Vimala- -
Hi, i'm new in webservice and xml. I want to save the returned SOAP Message by webservice in the database (xmltype).
String inputLine;
String xmlDoc = "";
URL xml = new URL("http://sph001000-020:7777/i3sWebServices-FireWebService-context-root/FireWebService?invoke=lov_fritmtp");
InputStream input = xml.openStream();
BufferedReader in = new BufferedReader(new InputStreamReader(input));
int cnt = 1;
while ((inputLine = in.readLine()) != null)
if (cnt == 1){
xmlDoc = xmlDoc + inputLine;
cnt = 0;
else cnt = 0;
System.out.println("xml " + xmlDoc);
in.close();
here is where i got stuck, can anyone help me save the string xmlDoc in database(xmlType)?
Thanks in advance!
Regards,
HardyHi,
I had a similar need to save a SOAP message for later processing, using NetBeans. I used a routine saveSOAPMessage (shown below) to write the SOAP message to a file as XML, and then processed the saved XML file. You might be able to do something like this to save the message in your database.
Good luck.
gordonwj
private boolean saveSOAPMessage(String path, SOAPMessage message)
boolean isValid = true;
try
FileOutputStream foutStr = new FileOutputStream(path);
message.writeTo(foutStr);
foutStr.close();
catch (Exception e)
String s = e.getMessage();
errorMessage = "Error writing SOAP message to file " + path;
isValid = false;
return(isValid);
}
Maybe you are looking for
-
How do I keep my Imessages from being viewed on other devices under my apple ID?
How do I keep my Imessages from being viewed on other devices under my apple ID?
-
Hi Experts, I am implementing BADI PT_BLP_USER for the transaction PTMW. We have to seperate logic for create record in PTMW and delete record. But I am not able to capture the delete action while the BADI is triggered. Can any1 please let me know, s
-
Hi, I am wanting to have a user fill out a form on a tab and then on submitting, have the next tab open etc. etc. I can do this by using something simple like: <button onclick="TabbedPanels1.showPanel(2)" >Next</button> And it works... sort of. When
-
SetText doesn't work. A bug???
I've got a JTextArea as a private atribute of my class: private JTextArea textArea = new JTextArea(); And i've got a method that does: textArea.setText("blablabla"); Well, the thing is, when i call that method... is doesn't do anything! I mean, the J
-
Stroke bug in ILL-CS2 (?)
Hi all, I think I might have discovered a bug in Illustrator CS2's stroke weight handeling by Javascript. The bug is that when there is no stroke at all (ie. stroke weight is "0 pt" or empty), JavaScript reports it as being "1". It also reports the s