Problems to execute SOAP message
Hi experts,
I have the following problem with this WSDL:
<wsdl:definitions targetNamespace="urn:MDirect" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:apachesoap="http://xml.apache.org/xml-soap" xmlns:impl="urn:MDirect" xmlns:intf="urn:MDirect" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<wsdl:message name="sendSmsWithSenderResponse">
<wsdl:part name="sendSmsWithSenderReturn" type="xsd:string"/>
</wsdl:message>
<wsdl:message name="sendSmsWithSenderRequest">
<wsdl:part name="user" type="xsd:string"/>
<wsdl:part name="pwd" type="xsd:string"/>
<wsdl:part name="company" type="xsd:string"/>
<wsdl:part name="mobile" type="xsd:string"/>
<wsdl:part name="txt" type="xsd:string"/>
<wsdl:part name="sender" type="xsd:string"/>
</wsdl:message>
<wsdl:portType name="MDirectWS">
<wsdl:operation name="sendSmsWithSender" parameterOrder="user pwd company mobile txt sender">
<wsdl:input message="intf:sendSmsWithSenderRequest" name="sendSmsWithSenderRequest"/>
<wsdl:output message="intf:sendSmsWithSenderResponse" name="sendSmsWithSenderResponse"/>
</wsdl:operation>
</wsdl:portType>
<wsdl:binding name="MDirectWSSoapBinding" type="intf:MDirectWS">
<wsdlsoap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
<wsdl:operation name="sendSmsWithSender">
<wsdlsoap:operation soapAction=""/>
<wsdl:input name="sendSmsWithSenderRequest">
<wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="urn:MDirect" use="encoded"/>
</wsdl:input>
<wsdl:output name="sendSmsWithSenderResponse">
<wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="urn:MDirect" use="encoded"/>
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:service name="MDirectWSService">
<wsdl:port binding="intf:MDirectWSSoapBinding" name="MDirectWS">
<wsdlsoap:address location="https://www.xxx.com/mdirectws/services/MDirectWS"/>
</wsdl:port>
</wsdl:service>
</wsdl:definitions>
When running the request SOAP to the WebService I returned the following error:
soap fault: No such operation 'sendSmsWithSenderRequest'
Why only happens in SAP XI?
The tool tests WebService, SOAP-IU, works well.
Thanks,
Jose.
Thanks friends,
I tried the following:
1 - The WSDL defines soapAction as follows: ...<wsdlsoap:operation soapAction=""/>...
Therefore, in Comm. Chan. type SOAP Receiver, he left the field SOAP Action without any value.
2 - He changed the soapAction of WSDL with the following value: ...<wsdlsoap:operation soapAction="urn:sendSmsWithSender"/>...
Therefore, in Comm. Chan. type SOAP Receiver, he left the field SOAP Action with the following value: urn:sendSmsWithSender
3 - He changed the soapAction of WSDL with the following value: ...<wsdlsoap:operation soapAction="sendSmsWithSender"/>...
Therefore, in Comm. Chan. type SOAP Receiver, he left the field SOAP Action with the following value: sendSmsWithSender
None of the three options I have worked. I continue to get the same problem. Does it make sense to modify the WSDL of a WebService?
Thaaanks,
Similar Messages
-
Hi everyone.
I've generated a web service in netbeans 5.5 with SAAJ.
I've run my web service client. The incoming message (service soap response) is
empty.
The problem is, my soap message (payload) is not appearing in the soap response.
I expect to see....
<?xml version="1.0" ?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns1="http://mywork">
<soapenv:Body>
<ns1:getMessageResponse>
<document>transfer<document>
<number>123456<number>
<telephone>555-12345<telephone>
</ns1:getMessageResponse>
</soapenv:Body>
</soapenv:Envelope>
But i receive the "return" element only, without payload.
<ns1:getMessageResponse>
<return/>
</ns1:getMessageResponse>
My service and client method is listed below.
Service....
public SOAPMessage getMessage() {
SOAPMessage message = null;
try {
MessageFactory mf = MessageFactory.newInstance();
message = mf.createMessage();
SOAPPart sp = message.getSOAPPart();
SOAPEnvelope env = sp.getEnvelope();
SOAPBody body = env.getBody();
SOAPHeader header = env.getHeader();
header.detachNode();
SOAPFactory sf = SOAPFactory.newInstance();
Name ElName = sf.createName("getMessage", "ns1", "http:mywork");
SOAPBodyElement sbe = body.addBodyElement(ElName);
SOAPElement name = sbe.addChildElement("name");
name.addTextNode("transfer");
SOAPElement document = sbe.addChildElement("document");
document.addTextNode("123456");
SOAPElement telephone = sbe.addChildElement("telephone");
telephone.addTextNode("555-12345");
message.saveChanges();
} catch (Exception e) {
System.out.println(e.getMessage());
return message;
Client Request....
public static void main(String[] args) {
// TODO code application logic here
try {
SOAPConnectionFactory scf = SOAPConnectionFactory.newInstance();
SOAPConnection con = scf.createConnection();
MessageFactory mf = MessageFactory.newInstance();
message = mf.createMessage();
SOAPPart sp = message.getSOAPPart();
SOAPEnvelope env = sp.getEnvelope();
SOAPBody body = env.getBody();
SOAPHeader header = envelope.getHeader();
header.detachNode();
SOAPFactory sf = SOAPFactory.newInstance();
Name ElName = sf.createName("getMessage", "ns1", "http:mywork");
SOAPBodyElement sbe = body.addBodyElement(ElName);
message.saveChanges();
URL urlep = new URL("http://localhost:8080/jaxws05/jaxws05?WSDL");
SOAPMessage reply = con.call(message, urlep);
con.close();
} catch(Exception ex) {
// TODO handle custom exceptions here
Can anyone please help? , Thanks. --NelsonI'd suggest you post this in the workshop newsgroup.
I don't believe Workshop supports SOAP w/attachments in the current
release, but you should ask in the workshop group for suggestions.
-- Rob
John wrote:
I'm trying to create a web service which takes an attachment and in
the BEA site, they have an example called "filetransfer" which does
what I'm looking for.
The example uses a SOAPMessageContext.getMessage() and
SOAPMessage.getAttachments(); however, there doesn't seem to be any
properties or methods which returns any of these object types.
Are handling file attachments beyond the scope of weblogic workshop,
or is there another way around this using workshop?
Thanks. -
Hi,
I have a problem with the SOAP messages sent by the Oracle BPEL Process manager and wondered if someone could help. When I recieve a reply from a process it always comes back in this format:
<envelope>
<head/>
<body>
</body>
</envelope>
The problem is there is only one head tag which is confusing the parser that Im using as it expects both the opening and closing tags. Is there any way I can access the message and change this?Thanks, I tried to do what you suggested before but it didnt do what I wanted it to. I know that it is valid XML but I am calling it from the JSR 172 implementation on J2ME which requires a pair of tags. I will go back and try it again just in case.
If this doesnt work however does anyone know if it is possible to manipulate the messages directly. Im getting desperate now.
Clive -
WLS 7.0 sp2 - Servlet Problems with SOAP messages
I'm using Weblogic 7.0 SP2 and trying to create a Servlet to receive SOAP wrapped
XML messages. I'm getting the following error. Is this a problem with WLS7.0sp2's
support of JAXM? The System.out.println's indicate I have successfully received
the incoming SOAP request and then successfully formatted the SOAP response, but
upon returning saving the response it appears to blow up. Does anyone have any
suggestions?
I need to do the following in a servlet:
- receive an incoming SOAP request with an embedded XML message
- perform some processing
- return a SOAP response with an embedded XML message
Should I be using JAXM? Or can I do this same task easily with JAX-RPC?
<Feb 24, 2004 4:10:42 PM AST> <Error> <HTTP> <101017> <[ServletContext(id=260434
7,name=isd.war,context-path=)] Root cause of ServletException
java.lang.Error: NYI
at weblogic.webservice.core.soap.SOAPMessageImpl.saveRequired(SOAPMessag
eImpl.java:360)
at javax.xml.messaging.JAXMServlet.doPost(Unknown Source)
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:1058)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubIm
pl.java:401)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubIm
pl.java:306)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationActio
n.run(WebAppServletContext.java:5445)
at weblogic.security.service.SecurityServiceManager.runAs(SecurityServic
eManager.java:780)
at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppSe
rvletContext.java:3105)
at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestIm
pl.java:2588)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:213)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:189)
>
I've stripped the code down so that all it does is verifies the incoming SOAP/XML
request and creates a hard-coded response... be gentle... I'm a novice at this
import javax.xml.soap.*;
import javax.servlet.*;
import javax.servlet.http.*;
// import javax.xml.transform.*;
import java.util.*;
import java.io.*;
public class RegisterServlet extends HttpServlet
static MessageFactory fac = null;
static
try
fac = MessageFactory.newInstance();
catch (Exception ex)
ex.printStackTrace();
public void init(ServletConfig servletConfig) throws ServletException
super.init(servletConfig);
public void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException,
IOException
try
System.out.println("** Note: doPost() Entering req = " + req);
// Get all the headers from the HTTP request
MimeHeaders headers = getHeaders(req);
// Get the body of the HTTP request
InputStream is = req.getInputStream();
// Now internalize the contents of a HTTP request
// and create a SOAPMessage
SOAPMessage msg = fac.createMessage(headers, is);
System.out.println("** Note: doPost() Step A");
SOAPMessage reply = null;
reply = onMessage(msg);
System.out.println("** Note: doPost() Step B reply = " + reply);
if (reply != null)
* Need to call saveChanges because we're
* going to use the MimeHeaders to set HTTP
* response information. These MimeHeaders
* are generated as part of the save.
if (reply.saveRequired())
System.out.println("** Note: doPost() Step C reply.saveRequired()");
reply.saveChanges();
resp.setStatus(HttpServletResponse.SC_OK);
putHeaders(reply.getMimeHeaders(), resp);
// Write out the message on the response stream
OutputStream os = resp.getOutputStream();
System.out.println("** Note: doPost() Step D os = " + os);
reply.writeTo(os);
os.flush();
else
resp.setStatus(HttpServletResponse.SC_NO_CONTENT);
catch (Exception ex)
throw new ServletException("** Error: SAAJ POST failed: " + ex.getMessage());
static MimeHeaders getHeaders(HttpServletRequest req)
Enumeration enum = req.getHeaderNames();
MimeHeaders headers = new MimeHeaders();
while (enum.hasMoreElements())
String headerName = (String)enum.nextElement();
String headerValue = req.getHeader(headerName);
StringTokenizer values =
new StringTokenizer(headerValue, ",");
while (values.hasMoreTokens())
headers.addHeader(headerName,
values.nextToken().trim());
return headers;
static void putHeaders(MimeHeaders headers, HttpServletResponse res)
Iterator it = headers.getAllHeaders();
while (it.hasNext())
MimeHeader header = (MimeHeader)it.next();
String[] values = headers.getHeader(header.getName());
if (values.length == 1)
res.setHeader(header.getName(),
header.getValue());
else
StringBuffer concat = new StringBuffer();
int i = 0;
while (i < values.length)
if (i != 0)
concat.append(',');
concat.append(values[i++]);
res.setHeader(header.getName(), concat.toString());
// This is the application code for handling the message.
public SOAPMessage onMessage(SOAPMessage message)
SOAPMessage replymsg = null;
try
System.out.println("** Note: OnMessage() Entering msg = " + message);
//Extract the ComputerPart element from request message and add to reply SOAP
message.
SOAPEnvelope reqse = message.getSOAPPart().getEnvelope();
SOAPBody reqsb = reqse.getBody();
//System.out.println("** Note: OnMessage() Step B");
System.out.println("** Note: OnMessage () Step A Soap Request Message Body = "
+ reqsb);
//Create a reply mesage from the msgFactory of JAXMServlet
System.out.println("** Note: OnMessage () Step B");
replymsg = fac.createMessage();
SOAPPart sp = replymsg.getSOAPPart();
SOAPEnvelope se = sp.getEnvelope();
SOAPBody sb = se.getBody();
System.out.println("** Note: OnMessage () Step C Soap Reply Before Message Body
= " + sb);
se.getBody().addBodyElement(se.createName("RegisterResponse")).addChildElement(se.createName("ErrorCode")).addTextNode("000");
System.out.println("** Note: OnMessage () Step D Soap Reply After Message Body
= " + sb);
replymsg.saveChanges();
System.out.println("** Note: OnMessage() Exiting replymsg = " + (replymsg));
catch (Exception ex)
ex.printStackTrace();
return replymsg;
Michael,
I got the same error on WLS8.1/Win2K professional and apache FOP (old version).
After digging into the WLS code and FOP(old version). i found the conflict happens
on
the "org.xml.sax.parser" system property. In WLS code, they hard coded like the
following when startup weblogic server:
System.setProperty("org.xml.sax.parser", "weblogic.xml.jaxp.RegistryParser");
But the FOP code try to use the "org.xml.sax.parser" system property to find the
sax parser then conlict happens.
Here is the response from BEA support :
"I consulted with our developers regarding the question of whether we can change
the hard-coded value for the java system property: org.xml.sax.parser by using
a configuration parameter and I found that unfortunately there is no specific
setting to change the value. As you had mentioned in your note the org.xml.sax.parser
system property can be changed programmatically in your application code."
I solve my problem by using newer apache FOP (it never use the system property:org.xml.sax.parser
any more) and XML Registy for WLS8.1.
Good luck.
David Liu
Point2 Technologies Inc.
"p_michael" <[email protected]> wrote:
>
Help.
When we migrated from WLS 6.1 to WLS 7.0 SP2 when encountered a problem
with XML
parsing that did not previously exist.
We get the error "weblogic.xml.jaxp.RegistryParser is not a SAX driver".
What does this mean? And, what should we do about it.
p_michael -
OWSM SAML Verify step problem: Missing Security Header in SOAP message
I'm having a problem with SAML steps. From gateway log:
2008-09-17 13:21:32,987 INFO [HTTPThreadGroup-58] saml.InsertSAMLSVStep - User attributes map set to generate the attribute assertions: null
2008-09-17 13:21:33,034 INFO [HTTPThreadGroup-60] saml.SAMLProcessor - Assertion Major Version :1 , Minor Version :1
2008-09-17 13:21:33,034 WARNING [HTTPThreadGroup-60] saml.SAMLProcessor - SAML Assertion verification error: An invalid token was provided
2008-09-17 13:21:33,034 WARNING [HTTPThreadGroup-60] saml.VerifySAMLStep - SAML Token verification failed:
2008-09-17 13:21:33,096 SEVERE [HTTPThreadGroup-58] wssecurity.OSDTWSSecurity - Missing Security Header in SOAP message
2008-09-17 13:21:33,096 WARNING [HTTPThreadGroup-58] wssecurity.SecurityBaseStep - Failure while applying XML Security
FAULT CODE: InvalidSecurity FAULT MESSAGE: Missing WS Security header in the SOAP message
at com.cfluent.policysteps.security.wssecurity.OSDTWSSecurity.decryptVerify(OSDTWSSecurity.java:369)
at com.cfluent.policysteps.security.wssecurity.DecryptStep.performXmlSecurity(DecryptStep.java:131)
at com.cfluent.policysteps.security.wssecurity.SecurityBaseStep.execute(SecurityBaseStep.java:238)
at com.cfluent.pipelineengine.container.DefaultPipeline.executeStep(DefaultPipeline.java:124)
but the wsse:Security header with SAML assertion IS confirmed in the incoming message log. Anybody seen this issue?Below is the log of the incoming message just prior to the failing SAML Verify step:
<?xml version="1.0" encoding="UTF-8" ?>
- <env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns0="http://exception.common.periop.gehc.com" xmlns:ns1="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:ns2="http://www.patient.patientmanager.periop.gehc.com/service/" xmlns:ns3="http://entity.common.periop.gehc.com" xmlns:ns4="http://entity.patient.patientmanager.periop.gehc.com" xmlns:ns5="http://entity.allergy.patientmanager.periop.gehc.com" xmlns:ns6="http://pdo.domain.customizer.periop.gehc.com" xmlns:ns7="http://entity.cases.scheduler.periop.gehc.com" xmlns:ns8="http://entity.insurance.patientmanager.periop.gehc.com">
- <env:Header>
- <ns1:Security>
- <saml:Assertion MajorVersion="1" MinorVersion="1" AssertionID="158RBY2QvCFPiTqdXYWh9A22" IssueInstant="2008-09-17T19:58:43Z" Issuer="GE" xmlns="urn:oasis:names:tc:SAML:1.0:assertion" xmlns:saml="urn:oasis:names:tc:SAML:1.0:assertion">
<saml:Conditions NotBefore="2008-09-17T19:58:13Z" NotOnOrAfter="2008-09-17T19:59:43Z" />
- <saml:AuthenticationStatement AuthenticationInstant="2008-09-17T19:58:43Z" AuthenticationMethod="urn:oasis:names:tc:SAML:1.0:am:password">
- <saml:Subject>
<saml:NameIdentifier NameQualifier="www.ge.com" Format="urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified">gowri</saml:NameIdentifier>
- <saml:SubjectConfirmation>
<saml:ConfirmationMethod>urn:oasis:names:tc:SAML:1.0:cm:sender-vouches</saml:ConfirmationMethod>
</saml:SubjectConfirmation>
</saml:Subject>
</saml:AuthenticationStatement>
</saml:Assertion>
</ns1:Security>
</env:Header>
- <env:Body>
- <ns2:getPatient>
<ns2:patientId>137115</ns2:patientId>
</ns2:getPatient>
</env:Body>
</env:Envelope> -
Problem to send SOAP 1.1 message
Hi,
I have a piece of code developed with SAAJ and I am trying to import it in an existing web application developed with Weblogic Workshop 8.1 SP3. My problem is that the classes of javax.xml.soap are packaged in one of the weblogic libraries (webservices.jar I believe).
When I try to use external jar (picked from SAAJ), it always uses the BEA libraries instead. As, by default, it sends SOAP 1.2 message it is a problem for me. I have seen that a SOAP message created with BEA libraries contains two static variable: SOAP11 and SOAP12 and SOAP12 is set to 1.
So I want to be sure that my application uses my libraries and not the BEA ones. I have tried to modify the classpath and even if I see my packages before the BEA packages, it always uses the BEA classes.
If you think I should use the BEA libraries, I welcome any advice to send SOAP 1.1 messages instead of SOAP1.2 and to add a header with my own attribute.
Thanks in advance for any clue :)
Cheers,
FredTry a reset:
Hold the Sleep and Home button down for about 10 second until you see the Apple logo. -
Problem: Applets cannot Create SOAP Message Objects using JAX Pack
Hi all
I want to invoke a simple webservice located at a url.
I wish to send a SOAP Message . The Message is creating using
javax.xml.soap package
Here is the code
public void init(){
try{
MessageFactory MF = MessageFactory.newInstance();
SOAPMessage message = MF.createMessage();
SOAPPart SP = message.getSOAPPart();
SOAPEnvelope SE = SP.getEnvelope();
SOAPHeader SH = SE.getHeader();
SOAPBody SB = SE.getBody();
Name bodyName = SE.createName
("testString","L","http://tempuri.org/");
SOAPBodyElement SBE = SB.addBodyElement(bodyName);
}catch(Exception e){}
When I run the applet in a browser I am getting ExceptionInInitializerError or NullPointer Exception.
The same application works when i run as a standalone application. But not in APPLET.
Can somebody help me in this regardIm trying to do the same thing !!, i have a servlet that processes SOAP messages, and return SOAP messages back.
Like you i have a implementation running with a stand alone client instead of an applet, which runs fine (there are several .jar files that have to be included in the jre/lib/ext directory, in total about a meg!).
Im now looking to incorporate this client into an applet, but it moans about cannot find classes (the JAXM and SOAP classes).
Have you found a solution to this yet ?? Surely you cannot expect the user to download all the required jar files along with the applet??
With regards to your problem try setting up a button that fires off the SOAP Msg and processes the response, i read on the Sun Java Applet tutorials that some code should stay out of the init method(its a bit vague about WHAT should stay out..), maybe this is an example.
Thanks,
(i dont really expect a response as you posted this ages ago !!, but it would be nice.) -
Problem to serialise the soap message in a handler
I'm using a sun web service with a handler on the server side.
In this handler I want to analize the soap message.
First I try to serialize it :
public boolean handleRequest(MessageContext arg0) {
SOAPMessageContext context = SOAPMessageContext) arg0;
SOAPMessage mes = context.getMessage();
Document doc= mes.getSOAPPart();
OutputFormat format = new OutputFormat(doc);
format.setLineSeparator(LineSeparator.Windows);
format.setIndenting(true);
format.setLineWidth(0);
format.setPreserveSpace(true);
StringWriter sw = new StringWriter();
XMLSerializer serializer = new XMLSerializer(sw , format);
serializer.asDOMSerializer();
serializer.serialize(doc);
System.out.println(sw.toString());
}The result I get looks like that :
<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope><soapenv:Header>
Where are the namespaces ?
This xml is not correct because the soapenv prefix is not bound.
How can I get a correct xml from the SOAP message ?Hi,
Is ZYBTT a new attribute? Have you changed the status of the attribute to implemented or released (in SWO1: Edit -> Change release status)?
And actually I think that your syntax is wrong too (BOR world is different compared to classes). If you want to use an attribute, I think that the syntax should be something like this:
SWC_GET_PROPERTY <Object> <Attribute> <AttributeValue>.
Read more here:
http://help.sap.com/saphelp_nw04/helpdata/en/c5/e4acef453d11d189430000e829fbbd/content.htm
Regards,
Karri -
External WebService call from CAF Core returns Invalid soap message
I am trying to perform the very simple action of calling a WebService from a CAF Core app service.
1. I imported the WS (Axis Web service running on NW 2004s SP9 server) with WSDL (option 2 on import external service page).
2. I then assembled the call in an app service method and invoke it.
3. I made sure to configure the end point for the service and the method using the External Service configuration.
When I execute the CAF core method using a simple Callable Object test client, I get the following error:
com.sap.caf.mp.base.exception.EngineException: Invalid soap message received
at com.sap.caf.mp.core.data.service.manager.wsdl11.SOAPToMessageValueConverter.processComplexTypeMode(SOAPToMessageValueConverter.java:290)
at com.sap.caf.mp.core.data.service.manager.wsdl11.SOAPToMessageValueConverter.generateComplexTypeValue(SOAPToMessageValueConverter.java:179)
at
truncated.
I have also captured the XML request/reponse trace using tcpmon :
REQUEST:
POST /NWTestExpressWAR/services/TestExpressService HTTP/1.1
Host: 192.168.99.120:8078
Content-Type: text/xml; charset=UTF-8
Content-Length: 348
SOAPAction: http://www.testsys.com/TestExpressService/getAvailableModels
<?xml version="1.0" encoding="utf-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"><SOAP-ENV:Body><ns1:GetAvailableModels xmlns:ns1="http://www.testsys.com/TestExpressService"/></SOAP-ENV:Body></SOAP-ENV:Envelope>
RESPONSE:
HTTP/1.1 200 OK
Server: SAP J2EE Engine/7.00
Set-Cookie: saplb_*=(J2EE11743000)11743050; Version=1; Path=/
Content-Type: text/xml; charset=utf-8
Date: Mon, 04 Dec 2006 02:19:39 GMT
Transfer-Encoding: chunked
Set-Cookie: JSESSIONID=(J2EE11743000)ID1261187150DB11296929644926762709End; Version=1; Domain=192.168.99.120; Path=/
1f3
<?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><GetAvailableModelsResponse xmlns="http://www.testsys.com/TestExpressService"><modelNames><name>Great Oak Manufacturing-January03 Test</name><name>PriceCheck-default</name></modelNames><errorMessagesReturn/></GetAvailableModelsResponse></soapenv:Body></soapenv:Envelope>
0
The only problem I can think off is that the transfer-encoding is marked as chunked which is causing the characters '1f3' and '0' to appear after and before the response and that this is causing the app to crash.
192.168.99.120 is the server the hosts the WS. It is also a 2004s SP9 server. The client server that hosts the CAF core service is of the same configuration. 8078 is the port I redirect for tcpmon purposes.
Could anyone shed some light on my problem?
Thanks,
Pratap.It looks like NW WS client cannot handle Transfer-encoding of chunked even though this is part of HTTP 1.1. What seems to be happening is that the NW WS client is creating a HTTP 1.1 request. The service (axis ws running on NW) seeing this is creating a HTTP 1.1 response w/ chunked encoding. However, the client cannot handle this encoding and barfs. The solution is to change the service to return a HTTP/1.0 response since NW cant handle HTTP 1.1.
Pratap. -
ABAP runtime error in sxmb_moni when SOAP message has header with some tags
Hi!!!
I have a problem with sxmb_moni transaction.
If I double-click on a successfully processed
message, then this monitor can't show me
the message details but fails with the following error:
<COPY_AND_PASTE_FROM_SCREEN>
Runtime errors OBJECTS_OBJREF_NOT_ASSIGNED_NO
Exception CX_SY_REF_IS_INITIAL
Occurred on 02.03.2005 at 16:44:21
Access with 'ZERO' object reference not possible.
What happened?
Error in ABAP application program.
The current ABAP program "CL_XMS_PROP_STRING============CP " had to be
terminated because one of the
statements could not be executed.
This is probably due to an error in the ABAP program.
</COPY_AND_PASTE_FROM_SCREEN>
This situation takes place only when I want
to look at a SOAP message which was sent to XI
from .Net platform or was sent to
.Net platform from XI (via SOAP adapter).
In all other cases sxmb_moni works fine.
I know that the problem is connected with some tags from Header record of SOAP message:
<soap:Header>
<wsa:Action>http://aaa.bbb.ccc/MessageResponse</wsa:Action>
<wsa:MessageID>uuid:1838f870-1688-4cfe-8c4f-afe14d98c515</wsa:MessageID>
<wsa:RelatesTo>uuid:308b950f-8cff-4b63-9861-93b041825f9d</wsa:RelatesTo>
<wsa:To>http://schemas.xmlsoap.org/ws/2004/03/addressing/role/anonymous</wsa:To>
<wsse:Security>
<wsu:Timestamp wsu:Id="Timestamp-389847df-8760-4d57-9777-6ce159d85205">
<wsu:Created>2005-03-02T08:54:29Z</wsu:Created>
<wsu:Expires>2005-03-02T08:59:29Z</wsu:Expires>
</wsu:Timestamp>
</wsse:Security>
</soap:Header>
If I take a SOAP message I have problem with, and
I remove all tags from this Header (or remove
the whole Header) and send it from any XML editor
that can send SOAP messages then sxmb_moni hasn't
any problems with showing me details of a such message.
Any hints how to force a .Net platform not to send
a such header or how to force sxmb_moni transaction
not to fail if a such header occurs?
Regards,
Andrzej FiluszHi Santhosh
1.Check your authorization settings in XI and R/3. Whether the user has sufficient rights to execute the Function Module etc. This is the most common reason for this error.
2.If the XI system was brought online even before the R/3 system then re-activate the communication channels from the Integration directory.
Cheers..
Vasu
<u><i><b>** Reward Points if found useful **</b></i></u> -
Documentation for SOAP-Messages OR RFC-Calls
Hello,
I am very interested in documentations about
- the SOAP-Messages BOPC sends from Client to .NET-Server and
- the RFC-Calls BOPC executes from .NET-Server to ABAP-Server
Does somebody know where to get this kind of documentations? Thanks very much for your help!I need this documentation too. We are developing extension in .Net, ABAP and VBA to solve some problems with Workflow.
-
Hi All
iam new to webservices technology, i have downloaded a sample on DocumentStyle webserice and executed it as the per the instructions given the document and could succeed.
now on the same lines i have written the below service and tried to execute.
the steps what i followed are
1 written a service interface
2 written impl class which is as below
3 compiled and created ear file using config.xml file
4 started the oc4j server
5 deployed the generated ear file into the server
6 binded the service
7 Checked if the service is running by the following url
http://yourhost.com:8888/docws/validate
it is sucessful
8 prepared a jsp client
9 placed it in default-wep-app directory
10 opened the browser and called the jsp
it has displayed me with a html form where i have to give some input.
when clicked on submit
i did not call the service
so when i look at the server console
it says as follows
java.lang.IllegalArgumentException: Root element of a SOAP message must be: 'http://schemas.xmlsoap.org/soap/envelope/:Envelope'.
please any one help me how to trouble shoot the above.
i checked for the soap file in oc4j directory but failed.
please help me in fixing the above problem
import org.w3c.dom.*;
import oracle.xml.parser.v2.*;
import java.io.*;
public class ValidateServiceImpl implements ValidateService
public ValidateServiceImpl(){}
public Element validate(Element e){
Element processedEl=null;
try{
NodeList list = e.getChildNodes();
Node node = null;
String values [] = new String[list.getLength()-1];
for(int i=0;i<list.getLength();i++){
node = list.item(i);
values = node.getNodeValue();
int age = Integer.parseInt(values[0]);
int income = Integer.parseInt(values[1]);
int loanAmount = Integer.parseInt(values[2]);
String answer=null;
answer = checkAvailability(age,income,loanAmount);
processedEl = createElement(answer);
}catch(Exception ex){
ex.printStackTrace();
return null;
return processedEl;
private Element createElement(String value){
Document xmldoc = new XMLDocument();
Element e1 = xmldoc.createElement("answer");
xmldoc.appendChild(e1);
Text t = xmldoc.createTextNode(value);
e1.appendChild(t);
return (Element)xmldoc.getFirstChild();
private String checkAvailability(int age,int income,int loanAmount){
if((age>=20 && age <= 40) && (income > 2000) && loanAmount >= 10000){
return "true";
else{
return "false";
}Hi Ramadhar,
If you are accessing the Webservice through the proxy you need to configure the proxy.
1. Follow the menu Path:
<b></b>System Administration>System Configuration>Service Configuration>Applications>com.sap.portal.ivs.httpservice>Services>proxy<i></i> and edit the property fields "HTTP-Enable Proxy Setting", "HTTP Proxy Host", and "HTTP Proxy port" and save.
2.Right click on "com.sap.portal.ivs.httpservice" node and choose "Administrate" and restart the service.
Hope this helps.
-Venkat Malempati -
How to intercept incoming SOAP messages?
I'm using weblogic workshop 8.1 for creating web services. I need to intercept incoming SOAP messages in order to do some processing before executing the required function (especially i would like to be able to know which function is to be executed and if required, execute an athorer one, according to the processing result)
I've tryed the tutorial given in the help, but i can't get it work. I'm using the example here after and i'm getting the following error: " the element '@jws:handler' is not allowed at this location".
package Handler;
* @jws:handler operation="handler.ConsoleLoggingHandler"
public class HandlerExample1 implements com.bea.jws.WebService
static final long serialVersionUID = 1L;
/** @common:operation */
public String echoString(String inputString)
return inputString;
I will apreciate if some one has a clue to resolve this problem.
Thank youHello,
From [1], Handlers on incoming messages are invoked before the message
is delivered to the web service operation, and handlers on outgoing
messages are invoked after the web service operation has completed. The
web service itself is unaware of the presence of handlers. SOAP message
handlers are sometimes referred to as interceptors. Also see [2][3].
Did you include the code for the handler
(handler.ConsoleLoggingHandler)? [4]
Here's a simple handler example [5]
Hope this is of some value,
Bruce
[1]
http://e-docs.bea.com/workshop/docs81/doc/en/workshop/guide/getstarted/conSOAPHandlers.html
[2]
http://e-docs.bea.com/workshop/docs81/doc/en/workshop/guide/getstarted/conSOAPHandlers.html?skipReload=true#WhereHandlersFit
[3]
http://edocs.beasys.com/wls/docs81/webserv/interceptors.html#1060763
[4]
http://e-docs.bea.com/workshop/docs81/doc/en/workshop/guide/getstarted/conSOAPHandlers.html?skipReload=true#HandlerExample
[5]
http://webservice.bea.com/log.zip
Fatna wrote:
>
I'm using weblogic workshop 8.1 for creating web services. I need to intercept incoming SOAP messages in order to do some processing before executing the required function (especially i would like to be able to know which function is to be executed and if required, execute an athorer one, according to the processing result)
I've tryed the tutorial given in the help, but i can't get it work. I'm using the example here after and i'm getting the following error: " the element '@jws:handler' is not allowed at this location".
package Handler;
* @jws:handler operation="handler.ConsoleLoggingHandler"
public class HandlerExample1 implements com.bea.jws.WebService
static final long serialVersionUID = 1L;
/** @common:operation */
public String echoString(String inputString)
return inputString;
I will apreciate if some one has a clue to resolve this problem.
Thank you -
Re: [iPlanet-JATO] Experiencing problem while executing model.
Hi Todd,
Thanks a lot for your input!
In the case , I found that "TO_CHAR(PLAN_DT, 'MM/DD/YYYY')" is alaised as a
column name in the resultset. So I am using this as a column in Jato
Descriptor for Plan_Dt. Now it is working fine.
Thanks and Regards,
Santa.
----- Original Message -----
From: Todd Fast <toddwork@c...>
Sent: Thursday, July 26, 2001 9:50 AM
Subject: Re: [iPlanet-JATO] Experiencing problem while executing model.
Santa--
I am experiencing a problem while executing a bounded model. I am usingQueryModelBase. Whenever the following query gets executed inonBeforeModel
execute of TiledView, it throws an exception describing "PLAN_DT not found
in ResultSet". If you execute this query on the SQL prompt then we getrows
of data. Please could you tell us how the mapping between model and
resultset works ? And what changes do we have to make to execute thisquery.
>>
SELECT PART_NM,NEWTXTDOLL
TO_CHAR(PLAN_DT, 'MM/DD/YYYY'),
FROM cpsselect
WHERE CHG_DT >= TO_DATE('2001-06-17', 'YYYY-MM-DD')The mapping of result set to model is done via JDBC, using the columnnames
you provide in your model's column descriptors. It sounds as if you are
providing the column name "PLAN_DT" in a descriptor, and when the model
tries to look up that column in the result set, there is no such columnand
the operation fails.
In order to debug this, you should try running your query with a JDBC
connection, not SQL*Plus or your command-line SQL tool. What you need to
find out is how the expresion "TO_CHAR(PLAN_DT, 'MM/DD/YYYY')" is aliasedas
a column name in the resut set. The easiest way to do this is to write a
simple class that does nothing but use your JDBC driver to connect the
database and execute this query. After execution, use theResultSetMetaData
information to find out the column names for the result set. Then, use
these column names in your JATO column descriptors.
Another Problem:We are not getting the values for NEWTXTDOLL column whenwe try to display it in a Tiled View.
I'm sorry, this isn't enough information for me to offer any suggestions.
Using the technique above, determine which columns are coming back in the
result set, and make sure your display fields in the TiledView are boundto
those column names. The problem could be something as simple as a typo in
the field's bound name, or something more complex like the column in the
result set being named something you don't expect.
Another approach might be to alias the columns yourself using the "AS
<alias>" expression, and assign them names that you choose instead ofusing
the names assigned by the database or JDBC driver.
Todd
[email protected]
The Information contained and transmitted by this E-MAIL is proprietary to
Wipro Limited and is intended for use only by the individual or entity to
which
it is addressed, and may contain information that is privileged, confidential
or
exempt from disclosure under applicable law. If this is a forwarded message,
the content of this E-MAIL may not have been sent with the authority of the
Company. If you are not the intended recipient, an agent of the intended
recipient or a person responsible for delivering the information to the named
recipient, you are notified that any use, distribution, transmission,
printing,
copying or dissemination of this information in any way or in any manner is
strictly prohibited. If you have received this communication in error, please
delete this mail & notify us immediately at mailadmin@w...
[Non-text portions of this message have been removed]Hi Todd,
Thanks a lot for your input!
In the case , I found that "TO_CHAR(PLAN_DT, 'MM/DD/YYYY')" is alaised as a
column name in the resultset. So I am using this as a column in Jato
Descriptor for Plan_Dt. Now it is working fine.
Thanks and Regards,
Santa.
----- Original Message -----
From: Todd Fast <toddwork@c...>
Sent: Thursday, July 26, 2001 9:50 AM
Subject: Re: [iPlanet-JATO] Experiencing problem while executing model.
Santa--
I am experiencing a problem while executing a bounded model. I am usingQueryModelBase. Whenever the following query gets executed inonBeforeModel
execute of TiledView, it throws an exception describing "PLAN_DT not found
in ResultSet". If you execute this query on the SQL prompt then we getrows
of data. Please could you tell us how the mapping between model and
resultset works ? And what changes do we have to make to execute thisquery.
>>
SELECT PART_NM,NEWTXTDOLL
TO_CHAR(PLAN_DT, 'MM/DD/YYYY'),
FROM cpsselect
WHERE CHG_DT >= TO_DATE('2001-06-17', 'YYYY-MM-DD')The mapping of result set to model is done via JDBC, using the columnnames
you provide in your model's column descriptors. It sounds as if you are
providing the column name "PLAN_DT" in a descriptor, and when the model
tries to look up that column in the result set, there is no such columnand
the operation fails.
In order to debug this, you should try running your query with a JDBC
connection, not SQL*Plus or your command-line SQL tool. What you need to
find out is how the expresion "TO_CHAR(PLAN_DT, 'MM/DD/YYYY')" is aliasedas
a column name in the resut set. The easiest way to do this is to write a
simple class that does nothing but use your JDBC driver to connect the
database and execute this query. After execution, use theResultSetMetaData
information to find out the column names for the result set. Then, use
these column names in your JATO column descriptors.
Another Problem:We are not getting the values for NEWTXTDOLL column whenwe try to display it in a Tiled View.
I'm sorry, this isn't enough information for me to offer any suggestions.
Using the technique above, determine which columns are coming back in the
result set, and make sure your display fields in the TiledView are boundto
those column names. The problem could be something as simple as a typo in
the field's bound name, or something more complex like the column in the
result set being named something you don't expect.
Another approach might be to alias the columns yourself using the "AS
<alias>" expression, and assign them names that you choose instead ofusing
the names assigned by the database or JDBC driver.
Todd
[email protected]
The Information contained and transmitted by this E-MAIL is proprietary to
Wipro Limited and is intended for use only by the individual or entity to
which
it is addressed, and may contain information that is privileged, confidential
or
exempt from disclosure under applicable law. If this is a forwarded message,
the content of this E-MAIL may not have been sent with the authority of the
Company. If you are not the intended recipient, an agent of the intended
recipient or a person responsible for delivering the information to the named
recipient, you are notified that any use, distribution, transmission,
printing,
copying or dissemination of this information in any way or in any manner is
strictly prohibited. If you have received this communication in error, please
delete this mail & notify us immediately at mailadmin@w...
[Non-text portions of this message have been removed] -
Writting attached file from SOAP message to a FTP folder
Hi everybody,
Our scenario is an interface which receives a SOAP message with a file attached. As we don't need to do any mapping into the attachment, we are supposed to deliver that file as it is into a FTP folder.
Our problem is that we cannot find how to configure File comm channel to write the attached file and no the SOAP XML message which is what we are getting now. Any help on this?
Thanks in advance.Hi
check these forum posts
SOAP with attachments
Mail Sender Adapter - Attachment Handling
Regards
Vishnu
Maybe you are looking for
-
Confirmed quantity in sales orders
Hi experts, This is MTS scenario. When changing delivery date in orders, the confirmed quantity is affected accordingly. Why? ATP check does not activate in orders. Suppose confirmed quantity in orders should be always equal to order quantity. ps. Th
-
Mediawiki, mysql, php? problems [SOLVED]
On Sunday my Arch install that is hosted by Slicehost became unresponsive to them so they had to do an emergency reboot. After it came back up my install of mediawiki was (and still is) only returning a blank page (at least in Firefox). After some di
-
I have set the print settings to "Ignore scaling and Fit to Page" and it seems to work only for the first page of a multi-page webpage or email chain. Nothing I've done seems to fix it. I've set the print settings to 90% scale in page set-up in order
-
Power supply problem... i think!!!
Hallo i just bought a new system motherboard : msi k9n2 diamond cpu : amd phenom 9850 black edition gpu : msi 9800gtx oc http://global.msi.com.tw/index.php?func=proddesc&prod_no=1448&maincat_no=130&cat2_no=136 ram : OCZ DDR2 PC2-8500 (1066) Reaper
-
Wireless headphones for my Toshiba 22LV505
I am trying to hook up wireless headphones for my 90-year-old father to his Toshiba 22LV505. He is extremely hard of hearing but my mom is not. Can you tell me what device(s) I need to get and how I can hook up his wireless headphones so that he ca