Problem in SOAP Client Handler configuration
Hi all,
I am working on a webservice project where i have to send SOAP headers in the SOPA Request from Client and retrive the same at webservice end. I have configured server Handler in webservices.xml of the Webservice and it is working fine. (It is going into the handleRequest(MessageContext ctx) method.). Also i have configured a client Handler in the client and configured it in the web.xml. But this client side handler is not working. (call is not going in the handleRequest(MessageContext ctx) method of this handler).
Now i have two probs -
1. What can be the prob in the client side Handler configuration? And how to resolve this so that call goes in handleRequest() method.
2. I want to send SOAP header from client, so where i will have to set these headers? For client side i have generated client classes from WSDL, written a ClientTest.java class which calls the webservice. (It is perfectly calling the webservice) and created & configured SOAPHandlerClient.java. In which class should i add the code to set (or add) SOAP headers?
Note : -I am using RAD and websphere server.
Thanks in advance.
Check the URL.
the communication channel that u assign is not valid. Also I am seeing that u are sending the SOAP request to XI using the SOAP adapter??
So your URL should contains the SOAP sender channel right??
Thanks
Farooq.
Similar Messages
-
IDoc to SOAP: client handler for response
Hello All,
I have a scenario with IDOC to Web services.
Is it possible to establish synchronous communication?
We do not want to use BPM.
I tried with importing IDOC structure into External definition, and then defining it as Synchronous Interface like this
IDOC Interface(Outbound) -> output:'ZINVOIC'
input: 'Response'
WSDL Interface(Inbound) -> input:'Request'
output:'Response'
But this did not work as the response is still going from Web services to the sender channel which is IDoc adapter
If asynchronous, the web service party is telling me to set up a client handler to listen to the responce that web service is sending. Is it possible? and if possible, please explain the steps.
Please help me out with this!
Thanks,
LakshmiHello Lakshmi,
We also had similar requirement. This cannot be synchronous. IDOC to Webservice is always an asyn communication.
Hope this helps.
Thanks
-Kulwant -
Web service client needs to share data with a SOAP Message Handler
I have a web service client that is built using WebLogic 10 clientgen. I also have a Soap Message Handler configured that will create the required Soap Headers for the web service call.
Creating these Soap Headers works great as long as the header data is static but the problem comes up when I need to place some dynamic data in these headers. The web service client has this data and somehow needs to pass it to the Soap Message Handler. It looks like I need to somehow have the client place this data in the MessageContext before the call so the data can be accessed by the Soap Message Handler.
How do I get access to the MessageContext from the client or is there a better way to do this?
Thanks in advance for any help you can give.You may want to check the response to this previous post to see if it yields any ideas for you:
Not able to Pass header info to Microsoft MapPoint WebService using WLS10 -
Handling of SOAP Faults in SOAP Clients consuming PI Web services
Hi there,
the following is in regards to SOAP fault error handling in a SOAP client that consumes a Web Service published by PI.
I have been reading a number of threads and blogs in regards to this topic and I am still left with some open questions which I hope to get some final answersclarifications through this thread.
In particular the blogs
Handling Web Service SOAP Fault Responses in SAP NetWeaver XI - Handling Web Service SOAP Fault Responses in SAP NetWeaver XI
XI: Propagation of meaningful error information to SOAP Client - XI: Propagation of meaningful error information to SOAP Client
have caused by attention.
Both of these threads are realating to the Fault Message type one can use to return errors back to a SOAP Client (.Net, Java, etc.).
In our scenario we published a number of Web Services through PI that provide functionality to integrate with an R3 back-end system using inbound ABAP Proxies.
The services are standardised and will be consumed by a number of .NetJava applications and systems. The reason for the use of ABAP proxies is the customer specific application logic that is executed in the backend system. The Web services are synchronous and don't use ccBPM in the middle. Transformations are performed in PI combined with various lookups to set default values before the message is passed into the ABAP Framework of the R3 back-end system. The lookups are done against the R3 back-end system using the PI RFC Lookup feature.
The inbound proxies currently return application errors as part of the response message back to the SOAP client. For more critical errors we introduced the use of Fault message types as the method to return the information back to the SOAP Client. This is all working satisfactory.
The questions I have are as follows.
1. When an error occurs at the IE level (e.g. mapping error), ABAP Proxy framework level (e.g. conversion from XML to ABAP format) or Adapter Framework level (Adapter releated error) a different SOAP fault message structure is returned to the SOAP Client than the one used for the application errors. The SOAP fault message structure used in this case is the standard SOAP fault used by PI to return system errors back to the caller. For those SOAP fault messages there is no payload generated that could be mapped to the SOAP fault structure used for the application errors. This would be preferrable as there would be only one Fault message structure used for both inbound ABAP proxy generated fault messages and PI generated fault messages.
Also the error messages generated by PI can be quite cryptic and difficult to interpret at the client end and could be filtered ranslated during message mapping if the payload of the PI generated SOAP fault message could be accessed in a message mapping.
Point 3 of the above thread 2759 indicates that this would be possible but doesn't outline how. Could somebody please clarify this for me as I don't believe that this is really possible ???.
My idea instead was to use the PI SOAP fault message structure to also return application errors. Therefore I would create a Fault message type that matches the PI SOAP fault structure. This would enable the SOAP Client to handle only one SOAP Fault error structure. Would that be something to look into instead ?????.
2. We have been looking at using the integrated WEB AS SOAP adapter instead of using the AF Sender SOAP adapter. While playing with this we encountered differences in the content returned through the SOAP fault generated by PI. A sample is below. Shouldn't the content of these SOAP faults be the same if the error that caused it is the same. Also the SOAP fault returned by the IE SOAP adapter is much more useful in this particular case. Both errors below are the same, a conversion error from XML to ABAP took place in the inbound ABAP proxy framework of the back-end system.
SOAP fault returned when using SOAP Sender adapter of AF
<!see the documentation>
<SOAP:Envelope xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP:Body>
<SOAP:Fault>
<faultcode>SOAP:Server</faultcode>
<faultstring>Server Error</faultstring>
<detail>
<s:SystemError xmlns:s="http://sap.com/xi/WebService/xi2.0">
<context>XIAdapter</context>
<code>ADAPTER.JAVA_EXCEPTION</code>
<text>com.sap.aii.af.ra.ms.api.DeliveryException: XIProxy:PARSE_APPLICATION_DATA:
at com.sap.aii.adapter.xi.ms.XIEventHandler.onTransmit(XIEventHandler.java:455)
at com.sap.aii.af.ra.ms.impl.core.queue.consumer.CallConsumer.onMessage(CallConsumer.java:134)
at com.sap.aii.af.ra.ms.impl.core.queue.Queue.run(Queue.java:916)
at com.sap.aii.af.ra.ms.runtime.MSWorkWrapper.run(MSWorkWrapper.java:56)
at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)
at java.security.AccessController.doPrivileged(Native Method)
at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:102)
at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:172)</text>
</s:SystemError>
</detail>
</SOAP:Fault>
</SOAP:Body>
</SOAP:Envelope>
SOAP fault using integrated SOAP adapter of PI IE
<SOAP:Envelope xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP:Body>
<SOAP:Fault>
<faultcode>SOAP:Server</faultcode>
<faultstring>System Error</faultstring>
<detail>
<s:SystemError xmlns:s="http://sap.com/xi/WebService/xi2.0">
<context/>
<code>ABAP.PARSE_APPLICATION_DATA</code>
<text>Error during XML => ABAP conversion (Request Message; error ID: CX_ST_DESERIALIZATION_ERROR; (/1SAI/TXSBE20FF604BAFEF8D990A XML Bytepos.: 564 XML Path: ns1:CreatePORequest(1)POHEADER(2)COMP_CODE(1) Error Text: Data loss occurred when converting ############################## Kernel ErrorId: CONVT_DATA_LOSS))</text>
</s:SystemError>
</detail>
</SOAP:Fault>
</SOAP:Body>
</SOAP:Envelope>
I have been reading threads for hours without being able to find one that answers questions 1 or provides a blog that outlines the approach one should take for error handling in SOAP clients that consume PI Web Services (and covers both PISystem generated faults and faults raised in Proxies).
There may already be a blog or thread and I just missed it.
Any comments are welcome.
Thanks. DieterHi Dieter,
As Bhavesh already mentioned fault messages are used for application errors. The same is described in SAP XI help:
http://help.sap.com/saphelp_nw04/helpdata/en/dd/b7623c6369f454e10000000a114084/frameset.htm
In case of system error (e.g. field length too long in proxy call or error in XI/PI mapping) there seems to be no standard way of handling it and propagating the response to the consumer of webservice.
Each system error is not recognized by SOAP adapter and SOAP adapter exception is raised.
The only bizzare solution that I can see is developing an adapter module and transport wrong message to standard fault message before delivering it to adapter engine:
http://help.sap.com/saphelp_nw04/helpdata/en/a4/f13341771b4c0de10000000a1550b0/frameset.htm
Kind regards,
Wojciech
btw nice thread -
Wls7.0 soap client jar under wl6 problems
Hi.
I downloaded the soap client jar file from a wl7 service. I am trying to package the client jar file and webserviceclient jar file for my ejb under wl6. But when I deploy my application, it says noMethod found exception. It seems that there are some class conflicts of the weblogic client service jar file and wl6 libraries. I badly need help on this.True, normal WLS 7.0 web service client will not work
in WLS 6.1 due to class conflict. So you need to use
portable client.
Here is an 8.1 example (It may work on 7.0):
http://manojc.com/?sample29
Here is the doc for portable stubs in 7.0:
http://edocs.bea.com/wls/docs70/webserv/client.html#1061489
Also, please use the latest 7.0 SP.
HTHs,
-manoj
http://manojc.com
"Naveed Ahmad" <[email protected]> wrote in message
news:3ebdb882$[email protected]..
Hi.
I downloaded the soap client jar file from a wl7 service. I am trying topackage the client jar file and webserviceclient jar file for my ejb under
wl6. But when I deploy my application, it says noMethod found exception. It
seems that there are some class conflicts of the weblogic client service jar
file and wl6 libraries. I badly need help on this.
> -
Problems with SOAP Adapter/Interface
Hi Experts,
we currently try and experiment with XI 3.0 Stack 09 and the SOAP adapter respectively.
We started with a simple interface (foo..., see wsdl attachment) that we want to provide by XI.
All configurations (SLD, Integration Repository, Integration Directory) should have been done accordingly as we suppose, similar to other szenarios we have already implemented.
When we send a SOAP request based on a generated wsdl to XI we get the exception at the bottom of this text, containing e.g.
com.sap.aii.messaging.srt.BubbleException: error during conversion [null "null"];
com.sap.aii.messaging.util.XMLScanException: Parsing an empty source. Root element expected!
For sending the SOAP message we used XMLSpy.
Did someone have similar problems or can give us an working WSDL example, or some hint?
Thanks in advance,
Klaus Lukas
foo.wsdl
<?xml version="1.0" encoding="ISO-8859-1"?>
<wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:p1="urn://poreceive.xi.pse.siemens.com" targetNamespace="urn://poreceive.xi.pse.siemens.com" name="foo_out_sync">
<wsdl:types>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="urn://poreceive.xi.pse.siemens.com" targetNamespace="urn://poreceive.xi.pse.siemens.com">
<xsd:element name="foo" type="foo_DT"/>
<xsd:complexType name="foo_DT">
<xsd:annotation>
<xsd:appinfo source="http://sap.com/xi/TextID">
fe0bb241d2a011d9cd15e9729ee2f568
</xsd:appinfo>
</xsd:annotation>
<xsd:sequence>
<xsd:element name="item" type="xsd:string">
<xsd:annotation>
<xsd:appinfo source="http://sap.com/xi/TextID">
fe0bb240d2a011d9acede9729ee2f568
</xsd:appinfo>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:schema>
</wsdl:types>
<wsdl:message name="foo">
<wsdl:part name="foo" element="p1:foo"/>
</wsdl:message>
<wsdl:portType name="foo_out_sync">
<wsdl:operation name="foo_out_sync">
<wsdl:input message="p1:foo"/>
<wsdl:output message="p1:foo"/>
</wsdl:operation>
</wsdl:portType>
<wsdl:binding name="foo_out_syncBinding" type="p1:foo_out_sync">
<soap:binding xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
<wsdl:operation name="foo_out_sync">
<wsdl:input>
<soap:body xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" use="literal"/>
</wsdl:input>
<wsdl:output>
<soap:body xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" use="literal"/>
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:service name="foo_out_syncService">
<wsdl:port name="foo_out_syncPort" binding="p1:foo_out_syncBinding">
<soap:address location="http://xxxxxxxx:8000/XISOAPAdapter/MessageServlet?channel=:Foo_SOAP_Service:SOAP_Foo_out&version=3.0&Sender.Service=Foo_SOAP_Service&Interface=urn%3A%2F%2Fporeceive.xi.pse.siemens.com%5Efoo_out_sync" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"/>
</wsdl:port>
</wsdl:service>
</wsdl:definitions>
soap message incl. error
<?xml version="1.0"?>
<!-- see thedocumentation -->
<SOAP:Envelope xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP:Body>
<SOAP:Fault>
<faultcode>SOAP:Server</faultcode>
<faultstring>error during
conversion</faultstring>
<detail>
<s:SystemError
xmlns:s="http://sap.com/xi/WebService/xi2.0">
<context>XIAdapter</context>
<code>XMLScanException</code>
<text><![CDATA[
com.sap.aii.af.mp.module.ModuleException
at com.sap.aii.af.mp.soap.ejb.XISOAPAdapterBean.process
(XISOAPAdapterBean.java:697)
at
com.sap.aii.af.mp.module.ModuleLocalLocalObjectImpl3.process
(ModuleLocalLocalObjectImpl3.java:103)
at com.sap.aii.af.mp.ejb.ModuleProcessorBean.process
(ModuleProcessorBean.java:221)
at
com.sap.aii.af.mp.processor.ModuleProcessorLocalLocalObjectImpl0.process
(ModuleProcessorLocalLocalObjectImpl0.java:103)
at com.sap.aii.af.mp.soap.web.MessageServlet.doPost
(MessageServlet.java:543)
at javax.servlet.http.HttpServlet.service
(HttpServlet.java:760)
at javax.servlet.http.HttpServlet.service
(HttpServlet.java:853)
at
com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.runServlet
(HttpHandlerImpl.java:385)
at
com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleReques
t(HttpHandlerImpl.java:263)
at
com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet
(RequestAnalizer.java:340)
at
com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet
(RequestAnalizer.java:318)
at
com.sap.engine.services.httpserver.server.RequestAnalizer.invokeWebConta
iner(RequestAnalizer.java:821)
at
com.sap.engine.services.httpserver.server.RequestAnalizer.handle
(RequestAnalizer.java:239)
at com.sap.engine.services.httpserver.server.Client.handle
(Client.java:92)
at com.sap.engine.services.httpserver.server.Processor.request
(Processor.java:147)
at
com.sap.engine.core.service630.context.cluster.session.ApplicationSessio
nMessageListener.process(ApplicationSessionMessageListener.java:37)
at
com.sap.engine.core.cluster.impl6.session.UnorderedChannel$MessageRunner
.run(UnorderedChannel.java:71)
at com.sap.engine.core.thread.impl3.ActionObject.run
(ActionObject.java:37)
at java.security.AccessController.doPrivileged(Native Method)
at com.sap.engine.core.thread.impl3.SingleThread.execute
(SingleThread.java:94)
at com.sap.engine.core.thread.impl3.SingleThread.run
(SingleThread.java:162)
Caused by: com.sap.aii.messaging.srt.BubbleException: error during
conversion [null "null"]; nested exception caused by:
com.sap.aii.messaging.util.XMLScanException: Parsing an empty source.
Root element expected!
at
com.sap.aii.messaging.srt.xmb.XMBWebServiceExtension.onResponseToWS
(XMBWebServiceExtension.java:936)
at
com.sap.aii.messaging.srt.xmb.XMBWebServiceExtension.invokeOnResponse
(XMBWebServiceExtension.java:602)
at com.sap.aii.messaging.srt.ExtensionBubble.onMessage
(ExtensionBubble.java:58)
at com.sap.aii.af.mp.soap.ejb.XISOAPAdapterBean.process
(XISOAPAdapterBean.java:576)
... 20 more
Caused by: com.sap.aii.messaging.util.XMLScanException: Parsing an
empty source. Root element expected!
at com.sap.aii.messaging.util.StreamXMLScannerImpl.open
(StreamXMLScannerImpl.java:104)
at com.sap.aii.messaging.mo.DefaultItem.setData
(DefaultItem.java:294)
at
com.sap.aii.messaging.srt.xmb.XMBWebServiceExtension.makeItemFromPayload
(XMBWebServiceExtension.java:972)
at
com.sap.aii.messaging.srt.xmb.XMBWebServiceExtension.onResponseToWS
(XMBWebServiceExtension.java:879)
... 23 more
]]></text>
</s:SystemError>
</detail>
</SOAP:Fault>
</SOAP:Body>
</SOAP:Envelope>Hi Klaus
In your wsdl file the soap address tag (given below)
<b><soap:address location="http://xxxxxxxx:8000/XISOAPAdapter/MessageServlet?channel=:Foo_SOAP_Service:SOAP_Foo_out&version=3.0&Sender.Service=Foo_SOAP_Service&Interface=urn%3A%2F%2Fporeceive.xi.pse.siemens.com%5Efoo_out_sync" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"/></b>
is to be edited as
<b><soap:address location="http://xxxxxxxx:50000//XISOAPAdapter/MessageServlet?channel=:Foo_SOAP_Service:SOAP_Foo_out" /></b>
because the soap address format should be like :
<i>http://host:port/XISOAPAdapter/MessageServlet?channel=party:service:channel</i>
For more information :
http://help.sap.com/saphelp_nw04/helpdata/en/0d/5ab43b274a960de10000000a114084/frameset.htm
Hope this will be helpful.
Regards
Suraj -
Problem in SOAP Sender - SOAP Receiver Senario.
Hi,
I am working on SAOP Sender- SOAP Receiver Senario, i am using a standard web service.I have successfull created the senario and tested in the Test Configuration in Integration Directory. The problem occurs when i expose my sender interface as a Web Service and use Altova XmlSpy to send the SOAP Request, i am getting an HTTP error. Also it could be great if you could define steps required in Integration Directory -> Tools -> Define a Webservice.. the valued that should be inserted in the URL and other values to complete the Wizard
I am using this URL:- http://host:port/XISOAPAdapter/MessageServlet?channel=:<service>:<channel>
And when i use the default URL :- http://host:port/sap/xi/engine?type=entry i don't get an HTTP error, the message goes till the receiver determination and Says Sender Not found.
Looking forward to ur Guidance.
HarpreetHi Peter,
I have verified the name of the server and port, there is no problem in it.
Here is the detailed error:-
<?xml version="1.0"?>
<!-- see the documentation -->
<SOAP:Envelope xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP:Body>
<SOAP:Fault>
<faultcode>SOAP:Server</faultcode>
<faultstring>Server Error</faultstring>
<detail>
<s:SystemError xmlns:s="http://sap.com/xi/WebService/xi2.0">
<context>XIAdapter</context>
<code>CPAException</code>
<text><![CDATA[
com.sap.aii.af.service.cpa.CPAException: invalid channel (party:service:channel) = :
at com.sap.aii.af.mp.soap.web.MessageServlet.getChannel(MessageServlet.java:464)
at com.sap.aii.af.mp.soap.web.MessageServlet.doPost(MessageServlet.java:400)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.runServlet(HttpHandlerImpl.java:390)
at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java:264)
at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:347)
at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:325)
at com.sap.engine.services.httpserver.server.RequestAnalizer.invokeWebContainer(RequestAnalizer.java:887)
at com.sap.engine.services.httpserver.server.RequestAnalizer.handle(RequestAnalizer.java:241)
at com.sap.engine.services.httpserver.server.Client.handle(Client.java:92)
at com.sap.engine.services.httpserver.server.Processor.request(Processor.java:148)
at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:33)
at com.sap.engine.core.cluster.impl6.session.MessageRunner.run(MessageRunner.java:41)
at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)
at java.security.AccessController.doPrivileged(AccessController.java:207)
at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:100)
at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:170)
]]></text>
</s:SystemError>
</detail>
</SOAP:Fault>
</SOAP:Body>
</SOAP:Envelope>
Thanks !!
Harpreet -
Problem with SOAP FAULT messages
Hi,
I'm developing the flash interface for a .NET application.
The client side (flash) communicate with server side (.NET) by web
services. The problem is that when the server side send a Fault
message flash breaks telling "Unable to connect to
endpoint........". In this case I need to know the error message
send by the server but the fault.faultstring is undefined.
Here the server Fault message:
HTTP/1.1 500 Internal Server Error.
Date: Wed, 23 Aug 2006 09:07:10 GMT
Server: Microsoft-IIS/6.0
X-Powered-By: ASP.NET
X-AspNet-Version: 1.1.4322
Cache-Control: private
Content-Type: text/xml; charset=utf-8
Content-Length: 419
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="
http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="
http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="
http://www.w3.org/2001/XMLSchema">
<soap:Body>
<soap:Fault>
<faultcode>SoapHeader</faultcode>
<faultstring>The userid: xxxx is
invalid</faultstring>
<detail />
</soap:Fault>
</soap:Body>
</soap:Envelope>
And this the code that handle the fault case:
pendingcall.onFault = function (fault:Object){
rootObj.gbl_logger.log("WS Fault: "+ fault.faultstring ,
10);
As you can see the real faultstring is "The userid: xxxx is
invalid" but in the faultstring property of the fault object I
found "undefined".
I've read many posts that report that the problem can be
solved in the server side modifing the HTTP HEADER from 500 to 200.
Unfortunately I can't access the server side code. Exists a way to
resolve the problem in the client side? Seems it is a Flash bug as
the SOAP 1.1 specs tells that all SOAP Fault messages must carry a
HTTP 500 header. Exists some patch that solve the problem?
Thanks.Hi ,
Thanks for joining the Community.
Please get in touch so we can resolve this issue for you.
Click here for contact details.
Thanks
James -
Is there a way to detect a bad http client handle before it locks up LabVIEW?
The attached VI demonstrates a simple way to hang LabVIEW such that the only way to recover full use of it is to kill the LabVIEW process. LabVIEW version is 11.0.1f2 and this problem will occur in both WinXP and Win7.
Is there a way to detect when an HTTP Client Handle refnum is stale and should not be used?
Is this a known bug?
Attachments:
Hang after Bad HTTP Client Handle.vi 15 KBHave you tried the bad reference comparator?
Mike...
Certified Professional Instructor
Certified LabVIEW Architect
LabVIEW Champion
"... after all, He's not a tame lion..."
Be thinking ahead and mark your dance card for NI Week 2015 now: TS 6139 - Object Oriented First Steps -
Problem acccessing alertinbox or alert-configuration in RWB
Hi forum,
I have a problem acccessing alertinbox or alert-configuration in RWB,
because, whenever i click the button "alertinbox" or "alert-configuration"
it gives an BSP error page:
<b>Business Server Page (BSP) error
Calling the BSP page was terminated due to an error.
The following error text was processed in the system:
BSP Exception: the Application Name sap in URL /sap/bc/bsp/sap/alertinbox/index.htm?sap-client=400&sap-sessioncmd=open is invalid.</b>
pls help,Hi,
Once you restart your Java engine.
The way of doing this is go to transaction SMICM-->Administration>J2EE Instance (Local) -> Send Soft Shitdown--
> With Restart.
Reward with points if helpful
Regards
Sai Ganesh -
In web of XI execute.
http://plata:50000/XISOAPAdapter/HelperServlet?action=FindChannel&%20channel=:SOAP_Service:SOAP_Receiver
and pesent continue error.
<?xml version="1.0" ?>
- <SOAP:Fault xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/">
<faultcode>SOAP:Server</faultcode>
<faultstring>Server Error</faultstring>
- <detail>
- <s:SystemError xmlns:s="http://sap.com/xi/WebService/xi2.0">
<context>XIAdapter</context>
<code>ADAPTER.SOAP_EXCEPTION</code>
- <text>
- <![CDATA[
java.lang.Exception: invalid channel (party:service:channel) = <null>
at com.sap.aii.af.mp.soap.web.HelperServlet.processFindChannel(HelperServlet.java:364)
at com.sap.aii.af.mp.soap.web.HelperServlet.doGet(HelperServlet.java:126)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.runServlet(HttpHandlerImpl.java:401)
at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java:266)
at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:387)
at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:365)
at com.sap.engine.services.httpserver.server.RequestAnalizer.invokeWebContainer(RequestAnalizer.java:944)
at com.sap.engine.services.httpserver.server.RequestAnalizer.handle(RequestAnalizer.java:266)
at com.sap.engine.services.httpserver.server.Client.handle(Client.java:95)
at com.sap.engine.services.httpserver.server.Processor.request(Processor.java:160)
at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:33)
at com.sap.engine.core.cluster.impl6.session.MessageRunner.run(MessageRunner.java:41)
at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)
at java.security.AccessController.doPrivileged(Native Method)
at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:100)
at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:170)
]]>
</text>
</s:SystemError>
</detail>
</SOAP:Fault>
Help MyCheck the URL.
the communication channel that u assign is not valid. Also I am seeing that u are sending the SOAP request to XI using the SOAP adapter??
So your URL should contains the SOAP sender channel right??
Thanks
Farooq. -
WSSE problems with soap envelope
Hi,
I'm trying to use a Java control to talk to an external website which
requires a digital signature in the Soap Header and cannot seem to get a
properly formatted soap message.
Based on the documentation, I have set up the wsse file to specify that I
want to add a digital signature and also specify my alias, password,
keystore, and keystorepassword. I am sure that it is picking up the digital
cert and is able to take out the private key and all (I get exceptions if I
move the cert or if I specify an incorrect password).
I am also using my own ClientHandler to add in additional Header elements
that are required by the destination webservice. I know that that is being
properly based on inspecting the soap message in my header and that the
external webservice is able to process my request. In adding in the WSSE
Client Handler however, it looks like the security handler is adding an
additional Header element rather than adding the required subelements into
the existing Header element (the one that my Client Handler already
created). I am getting back an exception from the webservice saying that
the Header element is already defined.
Is it possible that the WSSEClientHandler, while adding the necessary
attributes is not looking for or detecting the already existing Header?
I have submitted a case to weblogic support but have not yet heard back
(case # 525549).
Thanks,
GaryHi Klaus
In your wsdl file the soap address tag (given below)
<b><soap:address location="http://xxxxxxxx:8000/XISOAPAdapter/MessageServlet?channel=:Foo_SOAP_Service:SOAP_Foo_out&version=3.0&Sender.Service=Foo_SOAP_Service&Interface=urn%3A%2F%2Fporeceive.xi.pse.siemens.com%5Efoo_out_sync" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"/></b>
is to be edited as
<b><soap:address location="http://xxxxxxxx:50000//XISOAPAdapter/MessageServlet?channel=:Foo_SOAP_Service:SOAP_Foo_out" /></b>
because the soap address format should be like :
<i>http://host:port/XISOAPAdapter/MessageServlet?channel=party:service:channel</i>
For more information :
http://help.sap.com/saphelp_nw04/helpdata/en/0d/5ab43b274a960de10000000a114084/frameset.htm
Hope this will be helpful.
Regards
Suraj -
while i am trying to test my webservice in soap client it throws
error
Failed to parse soap message
Original(raw) message:
com.sap.uddi.generic.impl.soap.NativeSOAPException : Failed to open socket
Cause : class java.net.ConnectException : Connection refused: connect
can anyone help me outHI Ajay,
Same kind of problem is discussed here... Please check..
SOAP Request
Target URL for SOAP client
Re: Error in Webservice call
Cheers..
Vasu
<i>** REward Points if found useful **</i> -
Problem with SOAP Attachment in MM7
Hi, I'm developing with Bea Weblogic 7 sp2 a MM7 server. My problem is when I add an attachment to SOAP message, Weblogic can't receive the message and say something as "The ID referenced by .... is unknow" but the href attribute in SOAP Message has the same value as the Content-ID of the attachment.
The attachment is multipart/mixed. Please, I need help.
I add here an old post from other user about this problem.
<i>Hi
I need some help for a problem I have with bea 7.0 sp1 web services.
I'm trying to develop a SOAP Message Handler to intercept a SOAP Messages.It seems
work properly for simple soap requests.
But I need to send attachements so my request is like:
POST /mm7/mm7Service HTTP/1.0
Content-Type: multipart/related; type="text/xml"; start="<2ED4C017A7C250C35409DE82D1A8E6B1>";
boundary="----=_Part_18_90248.1076664111251"
Accept: application/soap+xml, application/dime, multipart/related, text/*
User-Agent: Axis/1.1
Host: xxx.xxx.xxx.xxx
Cache-Control: no-cache
Pragma: no-cache
SOAPAction: "http://www.3gpp.org/ftp/Specs/archive/23_series/23.140/schema/REL-5-MM7-1-2?operation=Deliver"
Content-Length: 5177
------=_Part_18_90248.1076664111251
Content-Type: text/xml; charset=UTF-8
Content-Transfer-Encoding: binary
Content-Id: <2ED4C017A7C250C35409DE82D1A8E6B1>
<?xml version="1.0" encoding="UTF-8"?>
<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:Header>
<ns1:TransactionID soapenv:mustUnderstand="0" xsi:type="xsd:string" xmlns:ns1="http://www.3gpp.org/ftp/Specs/archive/23_series/23.140/schema/REL-5-MM7-1-2">E8D97EC0A80A712B5CF3C7E5A56AF121</ns1:TransactionID>
</soapenv:Header>
<soapenv:Body>
<DeliverReq xmlns="http://www.3gpp.org/ftp/Specs/archive/23_series/23.140/schema/REL-5-MM7-1-2">
<MM7Version>5.3.0</MM7Version>
<LinkedID>fa571b8e93C0A809513c33d383069dfb</LinkedID>
<Sender>
<RFC2822Address displayOnly="false">[email protected]</RFC2822Address>
</Sender>
<Recipients>
<To>
<Number displayOnly="false">+123454678</Number>
</To>
<Cc>
<RFC2822Address displayOnly="false">[email protected]</RFC2822Address>
</Cc>
<Bcc>
<RFC2822Address displayOnly="false">[email protected]</RFC2822Address>
</Bcc>
</Recipients>
<Priority>High</Priority>
<Content href="cid:74935BFBD687B557CE9C25A591FEE0DA" allowAdaptations="true"/>
</DeliverReq>
</soapenv:Body>
</soapenv:Envelope>
------=_Part_18_90248.1076664111251
Content-Type: multipart/mixed;
boundary="----=_Part_17_2373292.1076664111231"
Content-Transfer-Encoding: binary
Content-Id: <74935BFBD687B557CE9C25A591FEE0DA>
------=_Part_17_2373292.1076664111231
I implemented a simple Handler with a system.out in
public boolean handleRequest(MessageContext mc)
method
But weblogic never gets there. It gives me this error instead:
javax.xml.soap.SOAPException: failed to receive message:
at weblogic.webservice.core.DefaultWebService.invoke(DefaultWebService.java:227)
This seems related to this line
<Content href="cid:74935BFBD687B557CE9C25A591FEE0DA" allowAdaptations="true"/>
If I remove it, it can reach the handleRequest() method.
Unfortunately I need the Content parameter....
Does weblogic support href attributes in soap ?
many thanks to whatever help
(I already lost 3 days on that problem.....)
alan</i>
Thanks.Hello,
Problem 1)
In a previous question about this in SDN, someone (sorry, can't remember who) answered:
"Have you or the user logged into the SAP GUI before? If not, have them login in. Our problems occured
with new users that never logged into the SAP gui and so the user profile was never loaded with the ini
file."
Please try that.
Problem 2)
Are you sure it's running with the same variant in the background?
What if you try every 5 minutes instead - maybe a minute is too short and it gets mixed up.
You could also try copying RSWUWFML2 to ZRSWUWFML2, inserting an infinite loop and then attaching to it in order to debug it in the background.
regards
Rick Bakker
Hanabi Technology -
Serious resource utlization problem using SOAP and 8.0.2
Hi,
I'm running into a fairly serious issues whilst trying to download large attachments from a Groupwise 8.0.2 server using SOAP.
Basically, the problem is as follows: at a client site, there's an inbox with an email that has an attached avi file of about 330mb. Our SOAP client tries to retrieve this file in chunks of 1mb in size (if you try to set the size of the chunks any larger, Groupwise will give you a 59922 error, as 1mb is apparently some sort of hard coded limit). So that attachment corresponds to roughly 330 AttachmentRequestMessage's and their responses, each with a 1mb payload.
When we run our client, the cpu utilization of the Groupwise server takes about a dozen seconds to climb to 100%, every single time we try. Since 100% cpu utilization renders all GW clients more or less inoperable (or at least extremely slow) this is a non-starter.
We changed our client to wait 2 secs. in between requesting each chunk of the attachment. This seemed to help initially, but by the time we had transferred 100mb of the file, cpu utilization climbed to 95% and stayed there until the file transfer was completed.
This is a little disconcerting. We're requesting a megabyte of data from an attachment every 2 seconds, and Groupwise seems to have all sorts of problems in trying to service these requests. As you can imagine, client performance isn't that great at 95% server utilization either. I suppose we could increase the pause to something like 5 seconds, but it seems ridiculous that such simple requests are generating this amount of load.
So my question is 2-fold:
1. can I increase the maximum size of an attachment part chunk? 1mb is not very much at all, seeing as our server is on the same gigabit lan segment as the GW server
2. why does cpu utilization shoot up to 95% while servicing what seem to be fairly simple requests, and how do I avoid this by some means other than increasing my pause time?
Thanks in advance,
Maarten
PS I spent some time looking for the 59922 error code in the docs, but turned up nothingThe 59922 error is just a warning.
You should use the HTTP GET construct to get large
attachments. It is orders of magnitude faster than
using getAttachmentRequest.
>>> On Friday, August 20, 2010 at 11:06 AM,
mdirkse<[email protected]> wrote:
> Hmm, could you perhaps point me to where in the docs?
>
> Because as far as I know you have to download an attachment using a
> getAttachmentRequest ('Novell Doc: NDK: GroupWise Web Services ‑
> getAttachmentRequest'
>
(http://developer.novell.com/document...a/b7m3i5b.html
> )),
> which takes a length parameter, and if you set that to > 1mb, Groupwise
> returns a 59922 error which, I'm pretty sure, *isn't* in the docs.
>
> Ray;2013273 Wrote:
>> You can download the complete attachment
>> in 1 go over HTTP using a SOAP login session.
>>
>> It's all in the docs...
>>
>> Am 19.08.2010 16:06, schrieb mdirkse:
>> >
>> > Hi,
>> > I'm running into a fairly serious issues whilst trying to download
>> > large attachments from a Groupwise 8.0.2 server using SOAP.
>> >
>> > Basically, the problem is as follows: at a client site, there's an
>> > inbox with an email that has an attached avi file of about 330mb.
>> Our
>> > SOAP client tries to retrieve this file in chunks of 1mb in size (if
>> you
>> > try to set the size of the chunks any larger, Groupwise will give you
>> a
>> > 59922 error, as 1mb is apparently some sort of hard coded limit). So
>> > that attachment corresponds to roughly 330
>> AttachmentRequestMessage's
>> > and their responses, each with a 1mb payload.
>> >
>> > When we run our client, the cpu utilization of the Groupwise server
>> > takes about a dozen seconds to climb to 100%, every single time we
>> try.
>> > Since 100% cpu utilization renders all GW clients more or less
>> > inoperable (or at least extremely slow) this is a non‑starter.
>> >
>> > We changed our client to wait 2 secs. in between requesting each
>> chunk
>> > of the attachment. This seemed to help initially, but by the time we
>> had
>> > transferred 100mb of the file, cpu utilization climbed to 95% and
>> stayed
>> > there until the file transfer was completed.
>> >
>> > This is a little disconcerting. We're requesting a megabyte of data
>> > from an attachment every 2 seconds, and Groupwise seems to have all
>> > sorts of problems in trying to service these requests. As you can
>> > imagine, client performance isn't that great at 95% server
>> utilization
>> > either. I suppose we could increase the pause to something like 5
>> > seconds, but it seems ridiculous that such simple requests are
>> > generating this amount of load.
>> >
>> > So my question is 2‑fold:
>> > 1. can I increase the maximum size of an attachment part chunk? 1mb
>> is
>> > not very much at all, seeing as our server is on the same gigabit
>> lan
>> > segment as the GW server
>> > 2. why does cpu utilization shoot up to 95% while servicing what
>> seem
>> > to be fairly simple requests, and how do I avoid this by some means
>> > other than increasing my pause time?
>> >
>> > Thanks in advance,
>> > Maarten
>> >
>> > PS I spent some time looking for the 59922 error code in the docs,
>> but
>> > turned up nothing
>> >
>> >
Maybe you are looking for
-
I am interested in purchasing a new PC and wanted to transfer all of the music on my Itunes onto my new computer's Itunes the easiest was possible. Any suggestions?
-
Unable to install iTunes on Windows 8 computer?
I recently bought a new Windows 8 computer (ASUS VivoTab TF810C) and am trying to install iTunes in order to sync/update/backup my iPhone 4S. I downloaded the latest version of the installer a moment ago but the file will not open. I just get the fol
-
Starting up in single-user mode problem
I'm trying to start up in single user mode using the Apple article. I ran fsck and everything checked out fine but when I type /sbin/mount -uw / I just get another prompt(#). I want to restore defaults because the users pane is blank. Iv'e tried tras
-
High Pass Dialog Textbook Exercise
I purchased the Power, Speed and Automatitation textbook to learn Photoshop Scripting. I am working through the exercises in the last chapeter Building Custom Dialogs and have stumbled on the last exercise building a High Pass Dialog. When I test the
-
I would like to help me. My iPhone was lost and stolen and I didn't have configured Find My iPhone. So I could n't find it. Please help me to find it or delete my information and photos. This is my serial No: DN*****TWD. <Personal Information Edite