SOAP Response handling
Helo
I have a problem when receiving SOAP Message response and I hope you can help.
The code has been working fine until two days ago, when I could NOT receive the SOAP Messages anymore and I do not know what to do.
Anyway my piece of code is like below:
public static void main(String[] args) {
// Create the connection
SOAPConnectionFactory scf = SOAPConnectionFactory.newInstance();
SOAPConnection conn = scf.createConnection();
// Create message
MessageFactory mf = MessageFactory.newInstance();
SOAPMessage msg = mf.createMessage();
// Object for message parts
SOAPPart sp = msg.getSOAPPart();
SOAPEnvelope env = sp.getEnvelope();
// STUFFS SKIPPED MANY ADDING HEADER AND BODY AND DIFFERENT PARTS
// Save message
msg.saveChanges();
// View input
System.out.println("\n Soap request:\n");
msg.writeTo(System.out);
System.out.println();
// Send
String urlval = "http://someURL/files.jws";
SOAPMessage rp = conn.call(msg, urlval);
// Get reply content
Source sc = rp.getSOAPPart().getContent();
// Close connection
conn.close();
} catch (Exception e) {
System.out.println(e.getMessage());
}My question is how can i wait for the respose from the URL?
Because it looks like the response is being delayed and for some reason, when it is coming back I have already finished the execution of my program...
Is threads the only answer?
Any other possibilities into getting the response?
thanks for the response
pipsu
Hi Reyaz,
This is actually an RFC-->SOAP scenario where the message structure of the source and target systems are different. We don't actually need a reponse back from the SOAP system. I was wondering if you perhaps know how we can cancel the Response response back to the requestor or at leaset map the SOAP response back?
The interface runs perfectly in asynchronous mode when executing it from the Runtime Workbench in the test section, but it runs in synchronous mode for some reason when executing the RFC function call in SAP.
Thank you,
Brendon
Similar Messages
-
I am following this tutorial to handle SOAP responses but it does not work http://livedocs.adobe.com/flex/3/html/help.html?content=data_access_6.html
using code blew I am trying to parse the following soap response.
<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx"
xmlns:components="components.*"
xmlns:hellos="services.hellos.*"
height="957" creationComplete="initApp()" >
<fx:Style source="Styles.css"/>
<fx:Script>
<![CDATA[
import mx.controls.Alert;
private namespace invesbot = "http://Services.com";
use namespace invesbot;
private namespace a = "http://schemas.xmlsoap.org/soap/envelope/";
private namespace b = "http://www.w3.org/2001/XMLSchema";
private namespace c = "http://www.w3.org/2001/XMLSchema-instance";
use namespace a;
use namespace b;
use namespace c;
[Bindable]
var _result:*
private function initApp():void
myService.mycustomers();
]]>
</fx:Script>
<fx:Declarations>
<mx:WebService id="myService" wsdl="http://localhost:8081/WebServiceTest/services/Hellos?wsdl"
showBusyCursor="true"
fault="Alert.show(event.fault.faultString), 'Error'">
<mx:operation name="mycustomers" resultFormat="e4x">
<mx:request>
</mx:request>
</mx:operation>
</mx:WebService>
</fx:Declarations>
<mx:HBox>
<mx:Text
text="{myService.mycustomers.lastResult.mycustomersReturn.name}"
/>
</mx:HBox>
</s:Application>
The SOAP response is as following
<?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:Body>
<mycustomersResponse xmlns="http://Services.com">
<mycustomersReturn>
<age>28</age>
<name>John</name>
</mycustomersReturn>
<mycustomersReturn>
<age>29</age>
<name>Alex</name>
</mycustomersReturn>
<mycustomersReturn>
<age>30</age>
<name>Jack</name>
</mycustomersReturn>
</mycustomersResponse>
</soapenv:Body>
</soapenv:Envelope>
Using the above code the output will be
<name xmlns="http://Services.com" 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">John</name>
<name xmlns="http://Services.com" 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">Alex</name>
<name xmlns="http://Services.com" 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">Jack</name>
but when I use the following code to put the result in dropdown box it gives the following error
<s:FormItem label="Employee:">
<s:DropDownList id="dropDownList3"
labelField="name"
dataProvider ="{myService.mycustomers.lastResult.mycustomersReturn}"/>
</s:FormItem>
TypeError: Error #1034: Type Coercion failed: cannot convert XMLList@106e9af1 to mx.collections.IList.Hi Ashish,
You can use Catch All error handler within scope of InvokeService action. By specifying SOAP Fault variable name there, response soap fault will be populated in variable.
In 11g(As per observation), split joins are strict towards definition of input and output message based on WSDL of target service which causes exception for invalidMessage in InvokeService action.
Hope this helps. -
Handling/Mapping a SOAP response message back to the RFC request Message
Hi
I was wondering if you could kindly offer some advice on how to handle the SOAP response back to an RFC in a RFC>SOAP>RFC.Response scenario. When executing an RFC function module that triggers a message to XI, the outbound message seems to process successfully, however, there is an error in the response message. I am not sure how to map the response back to the function module response message because it looks like the response payload is empty. It is also strange that the interface seems to run in synchronous mode despite being configured as an asynchronous interface. If it ran in asynchronous mode, there would not be a problem because we actually do not need a response back. The interface also runs perfectly when executing it from the Runtime Workbench, and it also runs in asynchronous mode as it should.
I would really appreciate any suggestions on how to solve this problem.
Thank you,
BrendonHi Reyaz,
This is actually an RFC-->SOAP scenario where the message structure of the source and target systems are different. We don't actually need a reponse back from the SOAP system. I was wondering if you perhaps know how we can cancel the Response response back to the requestor or at leaset map the SOAP response back?
The interface runs perfectly in asynchronous mode when executing it from the Runtime Workbench in the test section, but it runs in synchronous mode for some reason when executing the RFC function call in SAP.
Thank you,
Brendon -
Hi
My PI server is able to make a soap call to the SFDC ( webservice ) ...however the response that is received within PI
has a SOAP envelope...and hence the response mapping is going in error....because the source data type in response mapping doesnot match with the soap response ( with envelope )
<?xml version="1.0" encoding="UTF-8" ?>
- <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns="urn:enterprise.soap.sforce.com">
- <soapenv:Body>
- <upsertResponse>
- <result>
<created>false</created>
<id>a0UT0000004aeaMMAQ</id>
<success>true</success>
</result>
</upsertResponse>
</soapenv:Body>
</soapenv:Envelope>
how do i handle thisHi,
I think there is an option while configuration of SOAP adapter, where you can define, not to keep SOAP envelop. Please check the option Conversion Parameters\Do Not Use SOAP Envelope and set it as per your requirement. That might solve the problem. Here is the link which can be helpful
http://help.sap.com/saphelp_nw04/helpdata/en/29/5bd93f130f9215e10000000a155106/content.htm
Alternatively you need a java mapping or XSLT mapping to remove the envelop.
Here is the java mapping code to remove SOAP envelop
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.OutputStream;
import java.util.Map;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
import com.sap.aii.mapping.api.StreamTransformation;
import com.sap.aii.mapping.api.StreamTransformationException;
public class RemoveSoapEnvelop implements StreamTransformation{
public void execute(InputStream in, OutputStream out)
throws StreamTransformationException {
try
DocumentBuilderFactory factory=DocumentBuilderFactory.newInstance();
DocumentBuilder builderel=factory.newDocumentBuilder();
/*input document in form of XML*/
Document docIn=builderel.parse(in);
/*document after parsing*/
Document docOut=builderel.newDocument();
TransformerFactory tf=TransformerFactory.newInstance();
Transformer transform=tf.newTransformer();
Element root;
Node p;
NodeList l;
int mm,n1;
//if you need to include namespace use next two lines
//root=docOut.createElement("ns0:upsertResponse");
//root.setAttribute("xmlns:ns0","http://connectsystems.be/MAINFR/AccDocument");
root=docOut.createElement("upsertResponse");
p=docIn.getElementsByTagName("upsertResponse").item(0);
l=p.getChildNodes();
n1=l.getLength();
for(mm=0;mm<n1;++mm)
Node temp=docOut.importNode(l.item(mm),true);
root.appendChild(temp);
docOut.appendChild(root);
transform.transform(new DOMSource(docOut), new StreamResult(out));
catch(Exception e)
e.printStackTrace();
public void setParameter(Map arg0) {
public static void main(String[] args) {
try{
RemoveSoapEnvelop genFormat=new RemoveSoapEnvelop();
FileInputStream in=new FileInputStream("C:\\Apps\\my folder\\sdn\\sd2.xml");
FileOutputStream out=new FileOutputStream("C:\\Apps\\my folder\\sdn\\removedEnvelop.xml");
genFormat.execute(in,out);
catch(Exception e)
e.printStackTrace();
input xml file sd2.xml
<?xml version="1.0" encoding="UTF-8" ?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns="urn:enterprise.soap.sforce.com">
<soapenv:Body>
<upsertResponse>
<result>
<created>false</created>
<id>a0UT0000004aeaMMAQ</id>
<success>true</success>
</result>
</upsertResponse>
</soapenv:Body>
</soapenv:Envelope>
Here is the output xml removedEnvelop.xml
<?xml version="1.0" encoding="UTF-8" ?>
<upsertResponse>
<result>
<created>false</created>
<id>a0UT0000004aeaMMAQ</id>
<success>true</success>
</result>
</upsertResponse>
Helpful articles on java mapping for PI 7.1
http://wiki.sdn.sap.com/wiki/display/XI/SampleJAVAMappingcodeusingPI7.1+API
You can also try following XSLT mapping to get the same output as java mapping
<xsl:stylesheet version="1.0"
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
exclude-result-prefixes="SOAP-ENV">
<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes" />
<xsl:template match="/">
<xsl:for-each select="SOAP-ENV:Envelope/SOAP-ENV:Body">
<upsertResponse>
<result>
<xsl:variable name="var" select="normalize-space(.)"></xsl:variable>
<xsl:variable name="tokenizedSample" select="tokenize($var,' ')"/>
<created><xsl:value-of select="$tokenizedSample[1]"/></created>
<id><xsl:value-of select="$tokenizedSample[2]"/></id>
<success><xsl:value-of select="$tokenizedSample[3]"/></success>
</result>
</upsertResponse>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>
Other than these please refer to following links for further examples on the topic
Remove SOAP-ENV tags from xml RECEIVER RESPONSE payload (XSL needed?)
Remove SOAP Envelop using XSLT mapping.
Hope this helps your cause.
regards
Anupam -
Unable to write SOAP response to a file
Hi,
I am trying to capture SOAP response into a file using the method mentioned in the below given wiki but running into errors.
File gets read but it doesn't get deleted and it gets processed infinitely without creating any monitoring messages.
https://www.sdn.sap.com/irj/scn/wiki?path=/display/xi/using%252brequest%252bresponse%252bbean%252bmodule%252bin%252bfile%252badapter
Following is the trace from defaulttrace:
#1.5 #005056A33969002E00003735000014A41040C0723D32A941#1236364790565#
com.sap.engine.services.ts##com.sap.engine.services.ts#J2EE_GUEST#168484##
test008_ZP0_117114750##672e8d50052011deafc2005056a33969#XI File2XI[CC_NTLM/BE_FILE_LOCAL/]_400304##0#0#Error#1#/System/Server#Java#ts_0021##Thread is not associated with any transaction context.##
#1.5 #005056A33969002E00003737000014A41040C0723D32A941#1236364790565#
com.sap.engine.services.ts##com.sap.engine.services.ts#J2EE_GUEST#168484##test008_ZP0_11711
4750##672e8d50052011deafc2005056a33969#XI File2XI[CC_NTLM/BE_FILE_LOCAL/]_400304##0#0#Error#1#/System/Audit#Java###Exception #1#com.sap.engine.services.ts.transaction.TxDemarcationException: Thread is not associated with any transaction context.
at com.sap.engine.services.ts.transaction.TxManagerImpl.setRollbackOnly(TxManagerImpl.java:754)
at com.sap.transaction.TxManager.setRollbackOnly(TxManager.java:382)
at com.sap.aii.af.service.util.transaction.impl.SAPTxManagerImpl.rollback(SAPTxManagerImpl.java:109)
at com.sap.aii.adapter.file.File2XI.processFileList(File2XI.java:1748)
at com.sap.aii.adapter.file.File2XI.invoke(File2XI.java:615)
at com.sap.aii.af.lib.scheduler.JobBroker$Worker.run(JobBroker.java:463)
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:152)
at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:247)
Caused by: com.sap.engine.services.ts.exceptions.BaseIllegalStateException: Thread is not associated with any transaction context.
at com.sap.engine.services.ts.jta.impl.TransactionManagerImpl.setRollbackOnly(TransactionManagerImpl.java:475)
at com.sap.engine.services.ts.transaction.TxManagerImpl.setRollbackOnly(TxManagerImpl.java:751)
... 9 more
Am not sure if this is the right approach. One other way mentioned some where else is to use the File Handler in Axis adapter but thats not working either.
Any help is appreciated!!
Thanks
KiranHi!
A part from the abov sugestions make sure even though u checked previously..
1. Check whether your SOAP URL s correct or not which you are giving in the receiver SOAP adapter
2. Also check you are giving the SOAP action in the receiver SOAP adatper correctly or not.
3. Finally check the SOAP service is activei or not in SAP>BC>XI-->SOAP in ABAP stack
4. Since FIle is only for ASYN comm and while using FILE for sync interface you need to pass module paramters in the Sender File CC
please go thorugh the below link and check all those parameters once again whcih contains detaled screen shots.....Ok
[https://www.sdn.sap.com/irj/scn/wiki?path=/display/xi/file-rfc-file(Without+BPM)]
Regarsd::
Amar Srinivas Eli -
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 -
Need to get SOAP request and SOAP response message.
Hi All,
I need to know that how can I get the SOAP request and SOAP response message. Now I am using WSDL2Java tool from Axis to generate the stub classes (such as ServiceLocator, SoapBindingStub, and soapPort ) and applying the classes to make the SOAP request. I have seen the solution for getting the SOAP request with Dynamic invocation interface (DII) style (http://mail-archives.apache.org/mod_mbox/ws-soap-user/200310.mbox/%[email protected]%3e), but not Static stub like what I did. Could anyone suggest me how to do it please ( I can't run tcpcom on the linux server, because x-window is not allowed to install ). Thank you for any help in advance.You can try writing a client-side handler.
Handler gets called before the actual request is sent, and you can get the SOAP
message in it.
You have to deploy the handler in client-config.wsdd.
Handler is just like Servlet Filter.
I think there might be a simpler solution, but I dont know. -
I have written both a request handler and a response handler for calling a web service using Apache Axis 1.4.
The request handler is working, but when the web service returns a soap fault, my response handler is not getting called (I have set breakpoints in both the "onFault" and "invoke" methods of the response handler, which extends "org.apache.axis.handlers.BasicHandler").
Here is what my WSDD looks like:
<deployment xmlns="http://xml.apache.org/axis/wsdd/" xmlns:java="http://xml.apache.org/axis/wsdd/providers/java">
<transport name="http" pivot="java:org.apache.axis.transport.http.HTTPSender"/>
<globalConfiguration>
<requestFlow>
<handler name="MyRequestHandler" type="java:com.mycompany.MyRequestHandler"/>
</requestFlow>
<responseFlow>
<handler name="MyResponseHandler" type="java:com.mycompany.MyResponseHandler"/>
</responseFlow>
</globalConfiguration>
</deployment>Thanks!
Jonathan
Edited by: user1993443 on Mar 6, 2009 9:03 AMThe OC4J version with comes in jdeveloper has instaled ADF, is a version prepared to test your aplications and well ready for that.
The OC4J standalone version is this [http://www.oracle.com/technology/tech/java/oc4j/index.html] and is downloaded separately here [http://www.oracle.com/technology/software/products/ias/htdocs/utilsoft.html] .
The structured folder of the OC4J standAlone is never is contended inside Jdeveloper folder and when you try to install ADF with ADF runtime installer you only need to map to your OC4J folder base.
Good Luck. -
Raised warnings in SOAP response - where are they?
I am calling a rulebase deployed on a determinations-server using the generic SOAP web services.
Using Java and JAX-WS I can build a valid request, call the service, and receive a response which I can interpret - and I can handle the SOAPFaultException thrown when an error is raised by the rulebase.
So far so good - however, when my rulebase raises a warning - how is that supposed to be reflected in the SOAP response?
As far as I can see - there is no trace of any raised warnings in the response - and I have tried calling with both "value-only" and "decision-report" outcome style.
Any pointers to documentation or examples will be greatly appreciated.
Thanks in advance,
- TomI found the answer myself: Adding a <show-events>true</show-events> to the config-part of the request did the trick.
The response now contains an <events> section listing the raised warning from the rulebase.
I guess sometimes the answer is right in front of you - I hope somebody else can benefit from this information.
- Tom -
Hi All,
I have a problem with a webservice response. I need to invoke a webservice (binary implementation is different) that is located in two seperate servers (binary implementation is different). Each webservice has the same interface for both the request and the response. My cliente (calling code) is using the Java API for XML-based RPC (JAX-RPC) and is implemented using weblogic server 7.0 to invoke the two web services. I can invoke correctly one of the web services but I get an error with the other one.
I have seen in other forums that weblogic requires a property passed in when you start weblogic called:
weblogic.webservice.i18n.charset=UTF-8 -Dfile.encoding=ISO-8859-1
where I pass in like
'Dweblogic.webservice.i18n.charset=UTF-8 -Dfile.encoding=ISO-8859-1'
but this has not solved the problem.
Questions:
1: Does the WSDL have to be the same for the two web services ?
2: Is it a problem with the response (XML) or a communication error ?
Thanking you in advance,
Nacho
PD: The error I get is:
com.amena.sgp.funcionalidades.incidencias.excepciones.ErrorEnvioEstado: Error reading the response from: https://ws/webservice/gi. Please ensure that this is a valid SOAP response. The message was:
<env:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:env="http://schemas.xmlsoap.org/soap/envelope/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"><env:Header></env:Header><env:Body><m:gi-aperturaResponse xmlns:m="urn:pm_gi_interfaz_soap2" env:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><result xmlns:ns100="urn:pm_gi_interfaz_soap2" xsi:type="ns100:gi-resp-t"><cod-respuesta xsi:type="xsd:string">05000</cod-respuesta><des-respuesta xsi:type="xsd:string">Ok. Ejecuci?n correcta de la operaci?n.</des-respuesta></result></m:gi-aperturaResponse></env:Body></env:Envelope>
at com.amena.sgp.webservice.incidencias.proxy.IncidenciasWSProxy.abrirIncidencia(IncidenciasWSProxy.java:316)
at com.amena.sgp.funcionalidades.incidencias.IncidenciaEmisor.abrirPendiente(IncidenciaEmisor.java:466)
at com.amena.sgp.funcionalidades.incidencias.IncidenciaEmisor.abrirIncidencia(IncidenciaEmisor.java:129)
at com.amena.sgp.funcionalidades.incidencias.FactoriaIncidencias.obtenerIncidencia(FactoriaIncidencias.java:117)
at com.amena.sgp.factoria.comandos.incidencias.CmdCrearIncidenciaEmisor.ejecutarComando(CmdCrearIncidenciaEmisor.java:169)
at com.amena.sgp.servlets.Controlador.doGet(Controlador.java:147)
at com.amena.sgp.servlets.Controlador.doPost(Controlador.java:218)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImpl.java:1075)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:418)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:306)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:5517)
at weblogic.security.service.SecurityServiceManager.runAs(SecurityServiceManager.java:685)
at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:3156)
at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2506)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:234)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:210)
and :
unknown attr1.3.6.1.4.1.311.17.1
<!--REQUEST.................-->
<env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<env:Header>
</env:Header>
<env:Body>
<m:gi-apertura xmlns:m="urn:pm_gi_interfaz_soap2"
env:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<cod-usuario xsi:type="xsd:string"></cod-usuario>
<tex-password xsi:type="xsd:string"></tex-password>
<cod-usuactuacion xsi:type="xsd:string">Administrador</cod-usuactuacion>
<cod-incidencia xsi:type="xsd:string">AME-6002-000000061</cod-incidencia>
<tip-asociado xsi:type="xsd:string">M</tip-asociado>
<tex-asociado xsi:nil="true">
</tex-asociado>
<fec-actuacion xsi:type="xsd:string">29/08/2005 14:58:43</fec-actuacion>
<lst-msisdn>
<item>
</item>
</lst-msisdn>
<tex-incidencia xsi:type="xsd:string">Prueba de sistemas.</tex-incidencia>
</m:gi-apertura>
</env:Body>
</env:Envelope>Handshake finished!
CipherSuite:SSL_RSA_WITH_RC4_128_MD5
SessionId [Session-2, SSL_RSA_WITH_RC4_128_MD5]
PeerHost www.portabilidad.vodafone.es
java.io.CharConversionException: Illegal ASCII character, 0xf3
at weblogic.xml.babel.reader.XmlReader$AsciiReader.read(XmlReader.java:824)
at weblogic.xml.babel.scanner.ScannerState.read(ScannerState.java:382)
at weblogic.xml.babel.scanner.ScannerState.expect(ScannerState.java:235)
at weblogic.xml.babel.scanner.CloseTag.read(CloseTag.java:21)
at weblogic.xml.babel.scanner.Scanner.startState(Scanner.java:226)
at weblogic.xml.babel.scanner.Scanner.scan(Scanner.java:153)
at weblogic.xml.babel.baseparser.BaseParser.prime(BaseParser.java:243)
at weblogic.xml.babel.baseparser.BaseParser.initScanner(BaseParser.java:107)
at weblogic.xml.babel.baseparser.BaseParser.init(BaseParser.java:222)
at weblogic.xml.babel.baseparser.BaseParser.init(BaseParser.java:101)
at weblogic.xml.babel.parsers.XMLInputStreamParser.<init>(XMLInputStreamParser.java:35)
at weblogic.xml.babel.stream.XMLInputStreamBase.open(XMLInputStreamBase.java:64)
at weblogic.xml.babel.stream.XMLInputStreamBase.open(XMLInputStreamBase.java:48)
at weblogic.xml.babel.stream.XMLInputStreamFactoryImpl.newInputStream(XMLInputStreamFactoryImpl.java:66)
at weblogic.xml.babel.stream.XMLInputStreamFactoryImpl.newInputStream(XMLInputStreamFactoryImpl.java:53)
at weblogic.xml.stream.util.RecyclingFactory.remove(RecyclingFactory.java:95)
at weblogic.xml.stream.util.RecyclingFactory.remove(RecyclingFactory.java:128)
at weblogic.webservice.core.soap.SOAPEnvelopeImpl.<init>(SOAPEnvelopeImpl.java:165)
at weblogic.webservice.core.soap.SOAPPartImpl.<init>(SOAPPartImpl.java:104)
at weblogic.webservice.core.soap.SOAPMessageImpl.<init>(SOAPMessageImpl.java:113)
at weblogic.webservice.core.soap.MessageFactoryImpl.createMessage(MessageFactoryImpl.java:27)
at weblogic.webservice.binding.soap.HttpClientBinding.receive(HttpClientBinding.java:185)
at weblogic.webservice.core.handler.ClientHandler.handleResponse(ClientHandler.java:57)
at weblogic.webservice.core.HandlerChain.handleResponse(HandlerChain.java:199)
at weblogic.webservice.core.DefaultOperation.invoke(DefaultOperation.java:435)
at weblogic.webservice.core.DefaultOperation.invoke(DefaultOperation.java:360)
at weblogic.webservice.core.rpc.CallImpl.invoke(CallImpl.java:441)
at weblogic.webservice.core.rpc.CallImpl.invoke(CallImpl.java:310)
at com.amena.sgp.webservice.incidencias.proxy.IncidenciasWSProxy.abrirIncidencia(IncidenciasWSProxy.java:284)
at com.amena.sgp.webservice.incidencias.rmi.IncidenciasServer.abrirIncidencia(IncidenciasServer.java:54)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:261)
at sun.rmi.transport.Transport$1.run(Transport.java:148)
at java.security.AccessController.doPrivileged(Native Method)
at sun.rmi.transport.Transport.serviceCall(Transport.java:144)
at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:460)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:701)
at java.lang.Thread.run(Thread.java:536)
amount read:0inputBufferSize512overflow256
Error at line:1 col:562 Got character[0] expected a valid XML character
at weblogic.xml.babel.scanner.ScannerState.checkedRead(ScannerState.java:594)
at weblogic.xml.babel.scanner.CharData.read(CharData.java:65)
at weblogic.xml.babel.scanner.Scanner.startState(Scanner.java:265)
at weblogic.xml.babel.scanner.Scanner.scan(Scanner.java:153)
at weblogic.xml.babel.baseparser.BaseParser.accept(BaseParser.java:451)
at weblogic.xml.babel.baseparser.StartElement.parse(StartElement.java:77)
at weblogic.xml.babel.baseparser.BaseParser.parseElement(BaseParser.java:381)
at weblogic.xml.babel.baseparser.BaseParser.parseSome(BaseParser.java:278)
at weblogic.xml.babel.parsers.XMLInputStreamParser.internalParseSome(XMLInputStreamParser.java:120)
at weblogic.xml.babel.parsers.XMLInputStreamParser.streamParseSome(XMLInputStreamParser.java:135)
at weblogic.xml.babel.stream.XMLInputStreamBase.peek(XMLInputStreamBase.java:203)
at weblogic.xml.stream.util.XMLInputStreamFilterBase.hasNext(XMLInputStreamFilterBase.java:55)
at weblogic.webservice.xml.XMLNode.readChildren(XMLNode.java:714)
at weblogic.webservice.xml.XMLNode.read(XMLNode.java:664)
at weblogic.webservice.xml.XMLNode.readChildren(XMLNode.java:722)
at weblogic.webservice.xml.XMLNode.read(XMLNode.java:664)
at weblogic.webservice.xml.XMLNode.readChildren(XMLNode.java:722)
at weblogic.webservice.xml.XMLNode.read(XMLNode.java:664)
at weblogic.webservice.xml.XMLNode.readChildren(XMLNode.java:722)
at weblogic.webservice.xml.XMLNode.read(XMLNode.java:664)
at weblogic.webservice.core.soap.SOAPEnvelopeImpl.<init>(SOAPEnvelopeImpl.java:166)
at weblogic.webservice.core.soap.SOAPPartImpl.<init>(SOAPPartImpl.java:104)
at weblogic.webservice.core.soap.SOAPMessageImpl.<init>(SOAPMessageImpl.java:113)
at weblogic.webservice.core.soap.MessageFactoryImpl.createMessage(MessageFactoryImpl.java:27)
at weblogic.webservice.binding.soap.HttpClientBinding.receive(HttpClientBinding.java:185)
at weblogic.webservice.core.handler.ClientHandler.handleResponse(ClientHandler.java:57)
at weblogic.webservice.core.HandlerChain.handleResponse(HandlerChain.java:199)
at weblogic.webservice.core.DefaultOperation.invoke(DefaultOperation.java:435)
at weblogic.webservice.core.DefaultOperation.invoke(DefaultOperation.java:360)
at weblogic.webservice.core.rpc.CallImpl.invoke(CallImpl.java:441)
at weblogic.webservice.core.rpc.CallImpl.invoke(CallImpl.java:310)
at com.amena.sgp.webservice.incidencias.proxy.IncidenciasWSProxy.abrirIncidencia(IncidenciasWSProxy.java:284)
at com.amena.sgp.webservice.incidencias.rmi.IncidenciasServer.abrirIncidencia(IncidenciasServer.java:54)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:261)
at sun.rmi.transport.Transport$1.run(Transport.java:148)
at java.security.AccessController.doPrivileged(Native Method)
at sun.rmi.transport.Transport.serviceCall(Transport.java:144)
at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:460)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:701)
at java.lang.Thread.run(Thread.java:536)
--------------- nested within: ------------------
weblogic.xml.stream.XMLStreamException: Got character[0] expected a valid XML character - with nested exception:
[Error at line:1 col:562 Got character[0] expected a valid XML character]
at weblogic.xml.babel.adapters.XMLInputStreamElementFactory.create(XMLInputStreamElementFactory.java:106)
at weblogic.xml.babel.parsers.XMLInputStreamParser.internalParseSome(XMLInputStreamParser.java:123)
at weblogic.xml.babel.parsers.XMLInputStreamParser.streamParseSome(XMLInputStreamParser.java:135)
at weblogic.xml.babel.stream.XMLInputStreamBase.peek(XMLInputStreamBase.java:203)
at weblogic.xml.stream.util.XMLInputStreamFilterBase.hasNext(XMLInputStreamFilterBase.java:55)
at weblogic.webservice.xml.XMLNode.readChildren(XMLNode.java:714)
at weblogic.webservice.xml.XMLNode.read(XMLNode.java:664)
at weblogic.webservice.xml.XMLNode.readChildren(XMLNode.java:722)
at weblogic.webservice.xml.XMLNode.read(XMLNode.java:664)
at weblogic.webservice.xml.XMLNode.readChildren(XMLNode.java:722)
at weblogic.webservice.xml.XMLNode.read(XMLNode.java:664)
at weblogic.webservice.xml.XMLNode.readChildren(XMLNode.java:722)
at weblogic.webservice.xml.XMLNode.read(XMLNode.java:664)
at weblogic.webservice.core.soap.SOAPEnvelopeImpl.<init>(SOAPEnvelopeImpl.java:166)
at weblogic.webservice.core.soap.SOAPPartImpl.<init>(SOAPPartImpl.java:104)
at weblogic.webservice.core.soap.SOAPMessageImpl.<init>(SOAPMessageImpl.java:113)
at weblogic.webservice.core.soap.MessageFactoryImpl.createMessage(MessageFactoryImpl.java:27)
at weblogic.webservice.binding.soap.HttpClientBinding.receive(HttpClientBinding.java:185)
at weblogic.webservice.core.handler.ClientHandler.handleResponse(ClientHandler.java:57)
at weblogic.webservice.core.HandlerChain.handleResponse(HandlerChain.java:199)
at weblogic.webservice.core.DefaultOperation.invoke(DefaultOperation.java:435)
at weblogic.webservice.core.DefaultOperation.invoke(DefaultOperation.java:360)
at weblogic.webservice.core.rpc.CallImpl.invoke(CallImpl.java:441)
at weblogic.webservice.core.rpc.CallImpl.invoke(CallImpl.java:310)
at com.amena.sgp.webservice.incidencias.proxy.IncidenciasWSProxy.abrirIncidencia(IncidenciasWSProxy.java:284)
at com.amena.sgp.webservice.incidencias.rmi.IncidenciasServer.abrirIncidencia(IncidenciasServer.java:54)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:261)
at sun.rmi.transport.Transport$1.run(Transport.java:148)
at java.security.AccessController.doPrivileged(Native Method)
at sun.rmi.transport.Transport.serviceCall(Transport.java:144)
at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:460)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:701)
at java.lang.Thread.run(Thread.java:536)
<Aug 29, 2005 2:58:48 PM MEST> <Info> <webservice> <220025> <Handler weblogic.webservice.core.handler.ClientHandler threw an exception from its handleResponse method. The exception was:
javax.xml.rpc.JAXRPCException: java.io.IOException: Error reading the response from: https://www.xxx.xxxx. Please ensure that this is a valid SOAP response. The message was:
<env:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:env="http://schemas.xmlsoap.org/soap/envelope/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"><env:Header></env:Header><env:Body><m:gi-aperturaResponse xmlns:m="urn:pm_gi_interfaz_soap2" env:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><result xmlns:ns100="urn:pm_gi_interfaz_soap2" xsi:type="ns100:gi-resp-t"><cod-respuesta xsi:type="xsd:string">05000</cod-respuesta><des-respuesta xsi:type="xsd:string">Ok. Ejecuci?n correcta de la operaci?n.</des-respuesta></result></m:gi-aperturaResponse></env:Body></env:Envelope>>
<!--RESPONSE.................-->
<env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<env:Header>
</env:Header>
<env:Body>
<env:Fault>
<faultcode>env:Server</faultcode>
<faultstring>Error reading the response from: https://xxx.xxx.xxx/wwww. Please ensure that this is a valid SOAP response. The message was:
<env:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:env="http://schemas.xmlsoap.org/soap/envelope/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"><env:Header></env:Header><env:Body><m:gi-aperturaResponse xmlns:m="urn:pm_gi_interfaz_soap2" env:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><result xmlns:ns100="urn:pm_gi_interfaz_soap2" xsi:type="ns100:gi-resp-t"><cod-respuesta xsi:type="xsd:string">05000</cod-respuesta><des-respuesta xsi:type="xsd:string">Ok. Ejecuci?n correcta de la operaci?n.</des-respuesta></result></m:gi-aperturaResponse></env:Body></env:Envelope></faultstring>
<detail>
<bea_fault:stacktrace xmlns:bea_fault="http://www.bea.com/servers/wls70/webservice/fault/1.0.0">java.io.IOException: Error reading the response from: https://www.xxx.xxxe. Please ensure that this is a valid SOAP response. The message was:
<env:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:env="http://schemas.xmlsoap.org/soap/envelope/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"><env:Header></env:Header><env:Body><m:gi-aperturaResponse xmlns:m="urn:pm_gi_interfaz_soap2" env:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><result xmlns:ns100="urn:pm_gi_interfaz_soap2" xsi:type="ns100:gi-resp-t"><cod-respuesta xsi:type="xsd:string">05000</cod-respuesta><des-respuesta xsi:type="xsd:string">Ok. Ejecuci?n correcta de la operaci?n.</des-respuesta></result></m:gi-aperturaResponse></env:Body></env:Envelope>
at weblogic.webservice.binding.soap.HttpClientBinding.receive(HttpClientBinding.java:189)
at weblogic.webservice.core.handler.ClientHandler.handleResponse(ClientHandler.java:57)
at weblogic.webservice.core.HandlerChain.handleResponse(HandlerChain.java:199)
at weblogic.webservice.core.DefaultOperation.invoke(DefaultOperation.java:435)
at weblogic.webservice.core.DefaultOperation.invoke(DefaultOperation.java:360)
at weblogic.webservice.core.rpc.CallImpl.invoke(CallImpl.java:441)
at weblogic.webservice.core.rpc.CallImpl.invoke(CallImpl.java:310)
at com.amena.sgp.webservice.incidencias.proxy.IncidenciasWSProxy.abrirIncidencia(IncidenciasWSProxy.java:284)
at com.amena.sgp.webservice.incidencias.rmi.IncidenciasServer.abrirIncidencia(IncidenciasServer.java:54)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:261)
at sun.rmi.transport.Transport$1.run(Transport.java:148)
at java.security.AccessController.doPrivileged(Native Method)
at sun.rmi.transport.Transport.serviceCall(Transport.java:144)
at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:460)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:701)
at java.lang.Thread.run(Thread.java:536)
</bea_fault:stacktrace>
</detail>
</env:Fault>
</env:Body>
</env:Envelope>I'm having the same problem. We were calling the service via weblogic.jws.proxies. , after moving end point to another host in other lan (tunneled to old end point )
After this we can't invoke old methods all we got is this exception
<env:Envelope xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<env:Header>
</env:Header>
<env:Body>
<env:Fault>
<faultcode>env:Server</faultcode>
<faultstring>Error reading the response from: http://fire.unx.era.pl:7778/adPrm/ServicesForPRM/WS-Impl/FetchAtmosferaRejectableGroups. Please ensure that this is a valid SOAP response. The message was:
<?xml version="1.0" encoding="UTF-8"?><SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"><SOAP-ENV:Body><ns0:fetchAtmosferaRejectableGroupsResponse xmlns:ns0="http://www.computerland.pl/xsd/matrix/ws/"><ns0:result><ns0:errCode>0</ns0:errCode><ns0:errDesc>OK</ns0:errDesc></ns0:result><ns0:groupList><ns0:group name="Poczta/Domena/Terminale/CIS/DokE/Intranet, II linia"/><ns0:group name="IPS HelpDesk, II linia"/><ns0:group name="Telekomunikacja Help, II linia"/><ns0:group name="SAP Help, II linia"/><ns0:group name="CS Technical Support"/><ns0:group name="Interfejsy z Sieci?? Telekom, III linia"/><ns0:group name="Billing Analiza i Rozw??j, III linia"/><ns0:group name="Customer Care Analiza i Rozw??j, III Linia"/><ns0:group name="SAP Analiza i Rozw??j Admin, III linia"/><ns0:group name="Systemy Wspomagania Sieci ERA AiR, III linia"/><ns0:group name="CIS Sekcja Budowy Hurtowni Danych, III linia"/><ns0:group name="CIS Sekcja Budowy Aplikacji Analitycznych, III linia"/><ns0:group name="Intranet Analiza i Rozw??j, III linia"/><ns0:group name="Dok Elektr i Workflow AiR, III linia"/><ns0:group name="Sekcja Nadzoru Operacyjnego, III Linia"/><ns0:group name="Sekcja Test??w System??w, III Linia"/><ns0:group name="Telekomunikacja AiR, III linia"/><ns0:group name="PC Analiza i Rozw??j, III linia"/><ns0:group name="PC Zesp???? Bezpiecze??stwa Syst"/><ns0:group name="Oracle i Unix Administracja, III Linia"/><ns0:group name="Operatorzy, Sekcja Obs??ugi System??w"/><ns0:group name="Administratorzy Siec Syst Komp, III linia"/><ns0:group name="Billing & CustomerCare Support, II linia"/><ns0:group name="Sekcja Nadzoru Aplikacji, III Linia"/><ns0:group name="TIBCO Analiza i Rozw??j, III linia"/><ns0:group name="Region Katowice"/><ns0:group name="Region Gda??sk"/><ns0:group name="Region Pozna??"/><ns0:group name="Region Warszawa"/><ns0:group name="Sekcja Ochrony Danych, Pion Administracji"/><ns0:group name="PC Helpdesk, II linia"/></ns0:groupList></ns0:fetchAtmosferaRejectableGroupsResponse></SOAP-ENV:Body></SOAP-ENV:Envelope></faultstring>
<detail>
<bea_fault:stacktrace xmlns:bea_fault="http://www.bea.com/servers/wls70/webservice/fault/1.0.0">java.io.IOException: Error reading the response from: http://fire.unx.era.pl:7778/adPrm/ServicesForPRM/WS-Impl/FetchAtmosferaRejectableGroups. Please ensure that this is a valid SOAP response. The message was:
<?xml version="1.0" encoding="UTF-8"?><SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"><SOAP-ENV:Body><ns0:fetchAtmosferaRejectableGroupsResponse xmlns:ns0="http://www.computerland.pl/xsd/matrix/ws/"><ns0:result><ns0:errCode>0</ns0:errCode><ns0:errDesc>OK</ns0:errDesc></ns0:result><ns0:groupList><ns0:group name="Poczta/Domena/Terminale/CIS/DokE/Intranet, II linia"/><ns0:group name="IPS HelpDesk, II linia"/><ns0:group name="Telekomunikacja Help, II linia"/><ns0:group name="SAP Help, II linia"/><ns0:group name="CS Technical Support"/><ns0:group name="Interfejsy z Sieci?? Telekom, III linia"/><ns0:group name="Billing Analiza i Rozw??j, III linia"/><ns0:group name="Customer Care Analiza i Rozw??j, III Linia"/><ns0:group name="SAP Analiza i Rozw??j Admin, III linia"/><ns0:group name="Systemy Wspomagania Sieci ERA AiR, III linia"/><ns0:group name="CIS Sekcja Budowy Hurtowni Danych, III linia"/><ns0:group name="CIS Sekcja Budowy Aplikacji Analitycznych, III linia"/><ns0:group name="Intranet Analiza i Rozw??j, III linia"/><ns0:group name="Dok Elektr i Workflow AiR, III linia"/><ns0:group name="Sekcja Nadzoru Operacyjnego, III Linia"/><ns0:group name="Sekcja Test??w System??w, III Linia"/><ns0:group name="Telekomunikacja AiR, III linia"/><ns0:group name="PC Analiza i Rozw??j, III linia"/><ns0:group name="PC Zesp???? Bezpiecze??stwa Syst"/><ns0:group name="Oracle i Unix Administracja, III Linia"/><ns0:group name="Operatorzy, Sekcja Obs??ugi System??w"/><ns0:group name="Administratorzy Siec Syst Komp, III linia"/><ns0:group name="Billing & CustomerCare Support, II linia"/><ns0:group name="Sekcja Nadzoru Aplikacji, III Linia"/><ns0:group name="TIBCO Analiza i Rozw??j, III linia"/><ns0:group name="Region Katowice"/><ns0:group name="Region Gda??sk"/><ns0:group name="Region Pozna??"/><ns0:group name="Region Warszawa"/><ns0:group name="Sekcja Ochrony Danych, Pion Administracji"/><ns0:group name="PC Helpdesk, II linia"/></ns0:groupList></ns0:fetchAtmosferaRejectableGroupsResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
at weblogic.webservice.binding.soap.HttpClientBinding.receive(HttpClientBinding.java:195)
at weblogic.webservice.core.handler.ClientHandler.handleResponse(ClientHandler.java:57)
at weblogic.webservice.core.HandlerChain.handleResponse(HandlerChain.java:199)
at weblogic.webservice.core.DefaultOperation.invoke(DefaultOperation.java:456)
at weblogic.webservice.core.DefaultOperation.invoke(DefaultOperation.java:377)
at weblogic.webservice.core.rpc.StubImpl._invoke(StubImpl.java:244)
at weblogic.jws.proxies.FetchAtmosferaRejectableGroups_PortType_Stub.fetchAtmosferaRejectableGroups(FetchAtmosferaRejectableGroups_PortType_Stub.java:33)
at pl.era.prime.integration.client.AtmPCHS2PrimeBean.FetchAtmosferaRejectableGroups(AtmPCHS2PrimeBean.java:167)
at pl.era.prime.integration.client.AtmPCHS2PrimeSession_lm80md_EOImpl.FetchAtmosferaRejectableGroups(AtmPCHS2PrimeSession_lm80md_EOImpl.java:46)
at pl.era.prime.integration.client.AtmPCHS2PrimeSession_lm80md_EOImpl_WLSkel.invoke(Unknown Source)
at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:455)
at weblogic.rmi.cluster.ReplicaAwareServerRef.invoke(ReplicaAwareServerRef.java:114)
at weblogic.rmi.internal.BasicServerRef$1.run(BasicServerRef.java:396)
at weblogic.security.service.SecurityServiceManager.runAs(SecurityServiceManager.java:726)
at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:391)
at weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest.java:30)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:251)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:219)
</bea_fault:stacktrace>
</detail>
</env:Fault>
</env:Body>
</env:Envelope>
I suppose the problem is in setting end point for back response, has any one similar problem ?? -
How to compress SOAP response generated by weblogic 7.x web service??
can anybody tell me how to compresse SOAP response generated by weblogic webservice before sending it to client. i have my handler chain to process that response but how to compress that response .My webservice generates response that contains lots of XML data ~25 mb size . it's taking time to reach it to client for that i wanted to compress it . How to do that?can anybody help me?
Thanks........
RahulAnswered on my own:
Just have to use
x_result = http_client->response->get_data( ).
instead of
x_result = http_client->response->to_xstring( ).
Just don't knwo why the filesize is wrong also - but I can work with this image! -
Sending attachment in soap response
Hi,
I want to send attachment in soap response on pi7.4. I am new to pi and this seems to be tough task ,
I would be thankfull for help.
7ZHi,
Can you please elobarate your scenario? Please refer the below blog for attachment scenario in SAP PI 7.31.
Handle SOAP with Attachment in SAP PI 7.31
regards,
Harish -
Hi all,
we develop a mobile application (.NET compact framework/ WinCE) making use of SOAP-Requests on SAP WebAS 6.20 patch level (PL) 37.
As we patched one of our systems to PL 42, the resulting SOAP response changed and can not interpreted correctly, causing in a managed error in Windows CE. Even if the web service on PL42 is consumed via Visual Studio the problem can not be corrected.
It seems that SAP has changed the namespace in the SOAP response. The WSDL, however, is unchanged.
Has anybody encountered similar problems or has some idea how to change the WSDL correctly?
Can a change in namespace be correct if the WSDL is not adjusted?
Thanks
Chris
Answer System PL37:
<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Body>
<Z_SZ_SEND_XML.Response
xmlns="urn:sap-com:document:sap:rfc:functions">
<XML>Hallo</XML>
</Z_SZ_SEND_XML.Response>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
Answer System PL42:
<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope
xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" >
<SOAP-ENV:Body>
<rfc:Z_SZ_SEND_XML.Response
xmlns:rfc="urn:sap-com:document:sap:rfc:functions">
<XML>Hallo</XML>
</rfc:Z_SZ_SEND_XML.Response>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
WSDL(both)
<?xml version="1.0" encoding="utf-8"?>
<definitions xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:s0="urn:sap-com:document:sap:rfc:functions" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" targetNamespace="urn:sap-com:document:sap:rfc:functions" xmlns="http://schemas.xmlsoap.org/wsdl/">
<types>
<s:schema targetNamespace="urn:sap-com:document:sap:rfc:functions">
<s:element name="Z_SZ_SEND_XML">
<s:complexType>
<s:all />
</s:complexType>
</s:element>
<s:element name="Z_SZ_SEND_XML.Response">
<s:complexType>
<s:all>
<s:element name="XML" type="s:string" />
</s:all>
</s:complexType>
</s:element>
</s:schema>
</types>
<message name="Z_SZ_SEND_XMLInput">
<part name="parameters" element="s0:Z_SZ_SEND_XML" />
</message>
<message name="Z_SZ_SEND_XMLOutput">
<part name="parameters" element="s0:Z_SZ_SEND_XML.Response" />
</message>
<portType name="Z_SZ_SEND_XMLPortType">
<operation name="Z_SZ_SEND_XML">
<input message="s0:Z_SZ_SEND_XMLInput" />
<output message="s0:Z_SZ_SEND_XMLOutput" />
</operation>
</portType>
<binding name="Z_SZ_SEND_XMLBinding" type="s0:Z_SZ_SEND_XMLPortType">
<soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document" />
<operation name="Z_SZ_SEND_XML">
<soap:operation soapAction="http://www.sap.com/Z_SZ_SEND_XML" />
<input>
<soap:body use="literal" />
</input>
<output>
<soap:body use="literal" />
</output>
</operation>
</binding>
<service name="Z_SZ_SEND_XMLService">
<documentation>SAP Service Z_SZ_SEND_XML via SOAP</documentation>
<port name="Z_SZ_SEND_XMLPortType" binding="s0:Z_SZ_SEND_XMLBinding">
<soap:address location="http://brain05a.dsc-gmbh.de:8080/sap/bc/soap/rfc" />
</port>
</service>
</definitions>I agree that you should escalate your support request. However I do not think the problem is the namespace. Both messages seem consistent with the WSDL to me and the namespaces are the same. These two elements are equivelent:
<Z_SZ_SEND_XML.Response xmlns="urn:sap-com:document:sap:rfc:functions">
<rfc:Z_SZ_SEND_XML.Response xmlns:rfc="urn:sap-com:document:sap:rfc:functions">
The difference between them is that one uses a namespace prefix (rfc in this example), the other does not. Both of these are valid for the WSDL you have provided. I would also say that using namespace prefixes as the PL42 system does is a better practice. So your problem is coming from something else I think. This could be an error with the xml parser if it can not handle namespace prefixes, but I'm fairly certain .NET Compact Framework can handle this. -
Hi,
I have a requirement in which I need to edit the soap response before sending it back to client. Here is the code snippet.
@Resource
WebServiceContext context;
@WebMethod
public QueryByExampleOutput QueryByExample( QueryByExampleInput input ) {
QueryByExampleOutput output = new QueryByExampleOutput ();
try
output = adptInst.mQueryByExample(input); ---> this is another web service(Siebel) method
//this is where I need to intercept the SOAP response before sending it back to client
catch(lException se) {
return output;
How to achive this? I tried to use XMLStreamWriter but in vain.
I am using WebLogic server 10.3 and JAX-WS stack.
Thanks,
Sudha.
Edited by: user519950 on Jun 26, 2009 3:05 AMI tried the following steps. Still was not able to hit the handleMessage code during the webservice call.
1. Created a new class which extends SOAPHandler<SOAPMessageContext>
public class SessionTokenHandler implements SOAPHandler<SOAPMessageContext>
2. Implemented getHeaders, close, handleFault & handleMessage in the above file
3. Created a new handlers.xml file
<?xml version="1.0" encoding="UTF-8"?>
<handler-chains xmlns="http://java.sun.com/xml/ns/javaee">
<handler-chain>
<handler>
<handler-name/>
<handler-class>com.SessionTokenHandler</handler-class>
</handler>
</handler-chain>
</handler-chains>
4. Included Handler annotation @HandlerChain(file = "handlers.xml") at the beginning of my Web Service class
Am I missing something here?
Thanks,
Sudha. -
MessageHandlers - caching of SOAP responses
I have a webservice which has a number of clients who will all consume the same
message once. I've determined that one of my bottlenecks is actually turning
the results of the EJB call into the SOAP message. Since all the clients will
receive the same message once I think it would be nice to cache the soap message
resulting from a call.
Can I use a message handler to do this, or will the SOAP message already have
been generated?Hi Tom,
Your previous reply clears things up :-) But for the record, serialization (converting
the value returned from the EJB to XML) has already occurred when the handleResponse(MessageContext)
method is called. That's why you can get access to (and manipulate) the SOAP response
in the handleResponse(MessageContext) method. This SOAP response has the value
returned from the EJB in it, when the handleResponse(MessageContext) method is
called.
Later,
Mike Wooten
"Tom Hennen" <[email protected]> wrote:
>
I need to call the EJB because what it returns will determine if the
message is
already cached. You see the ejb returns a message from a queue. That
message
needs to be removed from the queue, and the handler won't know if it
has the message
cached until it gets a response from the EJB.
At any rate it sounds like you're saying the serialization takes place
after handlerResponse
gets through with the Message? If that's the case then this won't work
anyways.
"Michael Wooten" <[email protected]> wrote:
Hi Tom,
You'd have to store something in the MessageContext DURING the handleRequest(MessageContext)
method processing, to make any sense here :-)
The JAX-RPC Handler infrastructure is only guaranteeing that the property
stored
during the handleRequest(MessageContext) call, will be available during
the handleResponse(MessageContext)
call.
I don't quite understand why you need to call the EJB, if you already
know what
the value of the return object will be. I'm assuming that the EJB will
return
the same result, for a given value assigned to the input arguments.If
this is
true, why can't you use a byte[] created from the payload of the <SOAPBody>
request,
as the cache item key. If you don't find the cache item key (you look
in the
handleRequest method), set a MessageContext property with the payload
byte[],
and call the EJB. When the EJB returns, retrieve the property and use
it to create
a cache item that has the value of the property as the key, and a byte[]
of the
SOAP response as a value. When the handleResponse method is called,it
will contain
the response that will become the cache item value. Create a byte[]from
it, assign
the value of the property as the key, and a byte[] of the SOAP response
as the
value. If you find the key in the cache during the handleRequest(MessageContext)
call, retreive the cache value, put it in a MessageContext property,
return false
from handleRequest(MessageContext), grab the MessageContext property
value in
the handleResponse(MessageContext) method, and create the SOAP response
with it.
I take it that this isn't something you can do in your situation :-)
Calling the EJB from inside the handleRequest(MessageContext) method
will still
have performance issues, because you'll still need to deal with serializing/deserializing
XML.
Regards,
Mike Wooten
"Tom Hennen" <[email protected]> wrote:
Hmm, that's what I was afraid of.
We actually have to call the EJB. Skipping it isn't an option.
The
ejb only
accesses data in memory, so caching it's response would be of little
value anyways.
When using RMI to bypass the jax-rpc stack I'm seeing CPU usage about
1/3 less
than when using webservices. Overall throughput also more than doubles.
Would I see a benefit to calling the EJB from the handleRequest method
and then
based upon it's response sticking a cached SOAP message into the message
context?
Of course this would bring up the problem of what to do if the message
hasn't
been cached (calling the EJB twice isn't allowed).
"Michael Wooten" <[email protected]> wrote:
Hi Tom,
The SOAP message will have already been created for both client andserver-side
JAX-RPC Handlers, but you can avoid the EJB call :-)
The flow is as follows:
1. Web service consumer code calls web service operation.
2. The client-side JAX-RPC stack creates a SOAP message from the call.
If a
client-side JAX-RPC Handler is in place for the called operation,
it's
handleRequest
callback method is invoked.
3. If handleRequest returns a true, or there is no client-side JAX-RPC
Handler
in place, the
JAX-RPC implementation connects to the endpoint URL and sends the
SOAP
message.
4. The server-side JAX-RPC stack invokes the handleRequest method,of
a server-side
JAX-RPC Handler for the operation, if one is defined. It (the server-side
JAX-RPC
stack) hasn't made the call to the EJB that is providing the service
implementation
yet.
NOTE: Seeing as the EJB hasn't been called yet, you could have thecode
in the
handleRequest method return a cached response. The assumption here,would
be that
this server-side JAX-RPC Handler had access to a shared database (or
a JCache-based
product), that it could query in the handleRequest method, and update
in the handleResponse
method. If the query returned a cached SOAP response, you would useit
to set
a property on the MessageContext object passed to handleRequest, using
the setProperty
method, and return false from handleRequest. The stack should then
bypass
invoking
the EJB and call the handleResponse, using the same MessageContextobject
you
set the property on in the handleRequest method. Call the getProperty
on the MessageContext
object in the handleResponse method, to get the cached SOAP response,
and use
it to replace the one currently in the SOAP response. If performance
is a major
factor (which sounds like the case), you might want to replace theshared
database
with an distributed cache product (i.e. Tangosol Coherence, an open-source
JCache
product, etc.), or an XML database :-)
5. If the handleRequest method of the server-side JAX-RPC Handler
returns
true,
or no server-side JAX-RPC Handler was defined for the operation, the
server-side
stack calls the EJB.
6. If a server-side JAX-RPC Handler is defined, the server-side stack
calls the
handleResponse method. If not, the stack uses the results of the EJB
call to create
the SOAP response.
7. If a client-side JAX-RPC Handler is defined, the client-side stack
calls the
handleResponse method. Afterwards, it processes the SOAP responseand
deserializes
the return value. If no client-side JAX-RPC Handler is defined, theclient-side
stack just processes the SOAP response and deserializes the return
value.
HTH,
Mike Wooten
"Tom Hennen" <[email protected]> wrote:
I have a webservice which has a number of clients who will all consume
the same
message once. I've determined that one of my bottlenecks is actually
turning
the results of the EJB call into the SOAP message. Since all the
clients
will
receive the same message once I think it would be nice to cache thesoap
message
resulting from a call.
Can I use a message handler to do this, or will the SOAP message
already
have
been generated?
Maybe you are looking for
-
Regarding a query that gives a count of a certain combination of characters
Hi all, I had a query to be created that gives a count of a certain combination of characteristics from a cube. Say a cube has 4 characteristics , Say A, B, C, D. Now amongst all the records that occured in the Cube I need a report of the foll
-
Lately, when I take a picture with my iPhone or try to save one from the internet, it acts like it saves it, but when I go to my Photo Album, it doesn't show up. Also, if I try to take a picture through an app, the app just crashes. What do I do to f
-
AUTOCOMPLETE option in ABAP webdynpro
Hi , Can we implement auto complete option for a particular field in a view in ABAP webdynpro.For Example,in google search page if we type some word,it will automatically show the list possible searches values as dropdown.Please let me know
-
Accidentally, i've deleted system record _unknown user (ID 99) from WKM on Server... Are there any way to recover it/put back? Will it recover automatically with software update?
-
Difference between Java Deployment Toolkit Plug-in and deployJava.js
I was reading this article: http://www.java.com/en/download/faq/deployment_toolkit.xml and I get confused about the purpose and use of the DT Plug-in and the deployJava.js. I always believe that the Deployment Toolkit is the set of functions of the d