Hi,
by using SOAP GW 2 questions arise:
1. I cannot directly use WSDL URL (http type) from Assistant (Wizard). I need to save to disk or slide and then use it!!!
2. the service I’m trying to use is described at URL http://www.xmethods.net/sd/2001/CATrafficService.wsdl. I saved it to slide
and Assistant works fine BUT, at run-time, Mediator returns a time-out error:
Mediator Internal Error: No on_error sequence found. Exception: “java.net.ConnectException: Connection timed out: connect”
Whatch:
- the SOAP service (above WSDL) is working properly as XMLSpy shows (just 10secs!!)
- I changed time-out up to 10m
Can someone help me?
tnx
Michelangelo
Michelangelo Serpico
Software AG
+39 02950011.1
+39 3488205068
michelangelo.serpico@softwareag.com
Ciao Michelangelo;
the two issues are the same problem: you need to set up proxy settings for both the Mediator Studio and the component factory before launching either.
to do this for the Mediator studio:
1)edit the file %XBD_HOST%/bin/startGUI.bat (you may want to keep a second copy for external connections as I do…).
you need to add the following 2 java system properties:
http.proxyHost
http.proxyPort
to the following line which launches the Studio:
start “Mediator Studio” %RUN_JAVAW% -Dxbd.host=“%XBD_HOST%” …
here is an example:
start “Mediator Studio” %RUN_JAVAW% -Dhttp.proxyHost=xx.xx.xx.xx -Dhttp.proxyPort=8080 -Dxbd.host=“%XBD_HOST%” …
2) edit the file “startFactoryCommand.bat”. you need to do the same as for the studio. add the two java properties to the following line:
%RUN_JAVA% -Xms64m -Djava.endorsed.dirs …
This should solve both problems you mentioned. You can definitely access WSDL directly from xmethods, I have used them several times for demos / testing.
regards,
- arp
Hi arp,
a lot of thanks for the tips!
but, unfortunately, the workaround doesn’t go.
I added proxy properties:
%RUN_JAVA% -Djava.endorsed.dirs=“%XBD_HOST%”/lib -Dhttp.proxyHost=10.20.40.5 -Dhttp.proxyPort=8080 -Djava.protocol.handler.pkgs=com.sun.net.ssl.internal.www.protocol %JAVA_SECURITY_MANAGER% -Djava.security.policy=“%XBD_HOST%”/data/host.policy -Djava.rmi.server.codebase=%XBD_WEB_PROTOCOL%:%XBD_WEB%/lib/hostmanager.jar -DEntity.xbdwebapp=%XBD_WEB_PROTOCOL%:%XBD_WEB% -Dxbd.host=“%XBD_HOST%” -Dxbd.web=%XBD_WEB% -Dxbd.web.addr=“%xbdWebAddr%” -Dxbd.web.protocol=%XBD_WEB_PROTOCOL% -Dxbd.env.var.java.endorsed.dirs=“%XBD_HOST%”/lib -Dxbd.env.var.org.xml.sax.driver=org.apache.xerces.parsers.SAXParser -Dxbd.env.var.Entity.xbd.entirex.waittime=%ENTIREX_WAITTIME% -Dxbd.env.var.Entity.orchestratorroot=file:“%ORCHESTRATOR_ROOT%” -Dxbd.env.var.Entity.entirexroot=file:“%ENTIREX_ROOT%” -Dxbd.env.var.Entity.taminoweb=“%TAMINO_WEB%” -Dxbd.env.var.Entity.xbdwebapp=%XBD_WEB_PROTOCOL%:%XBD_WEB% -Dxbd.env.var.SAG_COMMON=“%SAG_COMMON%” -Dxbd.env.var.log4j.defaultInitOverride=true -Dsleep=5000 -Dxbd.env.var.SagXSecurity.configfile=“%XBD_HOST%”/data/SagXSecurity.xml -jar “%XBD_HOST%”/lib/launcher.jar %XBD_WEB_PROTOCOL%:%XBD_WEB%/lib/hostmanager.jar
to both startHostManagerCommand.bat and startFactoryCommand.bat files
but SOAP GW doesn’t work…connection timed-out error arises.
the same job to launchGUI.bat gives the same result
do u have new tips??
thanks
Michelangelo
Michelangelo Serpico
Software AG
+39 02950011.1
+39 3488205068
michelangelo.serpico@softwareag.com
Hi Michelangelo;
I don’t have any other bright ideas right now…
why don’t you post your launchGUI.bat file and I’ll try it out on my machine. You can also send it to my SAG email directly if you prefer.
Also, what exactly is your environment?
OS?
JDK?
etc…
regards,
- arp
Hi Arp and all,
thanks for tips and STUDO works fine now BUT I’m not able to use SOAP Gw:
I created this simple sequence:
<?xml version="1.0" encoding="UTF-8"?>
<step component=“SagSoapGateway” xbd.soap.arg0.symbol=“/Doc/In” xbd.soap.handlefault=“true” xbd.soap.operation=“{{urn:xmethods-delayed-quotes}}getQuote” xbd.soap.port.qn=“{{Software & Technology Services and Solutions | Software AG}}net.xmethods.services.stockquote.StockQuotePort” xbd.soap.res0.Result=“/Doc/Out” xbd.soap.service.qn=“{{Software & Technology Services and Solutions | Software AG}}net.xmethods.services.stockquote.StockQuoteService” xbd.soap.session=“false” xbd.soap.style=“document” xbd.soap.wsdl.url=“http://services.xmethods.net/soap/urn:xmethods-delayed-quotes.wsdl” xbd.target.contentID=“q1” xbd.target.contentType=“text/xml”/>
(you can use the WS pointed by wsdl.url with XMLSpy and it works fine.)
the sequence is composed by 3 steps:
- save
- SOAP
- save
the reuslt is:
- save performed
- SOAP is, probably, not invoked
- save NOT performed
- MEDIATOR returns the original XMLDoc sent without cahnge: IBM :mad:
Please note:
0. I used -Dhttp.proxy**** properties of JVM in run.bat of JBoss, in startFactoryCommand.bat, in startHostManagerCommand.bat after tips by Arp
1. Persistent way is Tamino
2. if I try to check in Tamino (after MEDIATOR response) I receive:
…
pending <-------------------- very strange!
…
+
system
…
…
+
save (USER!!! just this!!!)
BEFORE SOAP
… …
-
NO OTHER savepoint I can found!!! (in the sequence I have 2 savepoints: BEFORE SOAP and AFTER SOAP)
3. The result of MEDIATOR sequence is the original XML Document sent without any change!!! NO SOAP invokation seems to be applied!!!
CAN SOMEONE clarify me?
thanks
Michelangelo
Michelangelo Serpico
Software AG
+39 02950011.1
+39 3488205068
michelangelo.serpico@softwareag.com
Just another info:
I tried with xbd.soap.style=“document” and xbd.soap.style=“rpc” too.
thanks
Michelangelo
Michelangelo Serpico
Software AG
+39 02950011.1
+39 3488205068
michelangelo.serpico@softwareag.com
Hi Michelangelo,
Have you tried running the ComponentFactory in DEBUG mode? If not, then I suggest you do that. If you run in DEBUG mode you will see a detailed trace of what happened when your sequence executed. You should be able to see whether a SOAP Request was created and what it looked like and also what type of response you got (if any).
Something that works for me is to copy the SOAP Request created by Mediator (stored in the DefaultComponentFactory.xbd.log) and paste that into XMLSpy. I usually then invoke the Web Service using the copied SOAP Request. That way I can see what type of problems (if any occur).
I did try out your sequence (in DEBUG mode) and found that the following SOAP Request was created:
<soapenv:Envelope xmlns:soapenv=“http://schemas.xmlsoap.org/soap/envelope/” xmlns:xsd=“XML Schema” xmlns:xsi=“http://www.w3.org/2001/XMLSchema-instance”>
soapenv:Body
<ns1:getQuote soapenv:encodingStyle=“http://schemas.xmlsoap.org/soap/encoding/” xmlns:ns1=“urn:xmethods-delayed-quotes”>
IBM
</ns1:getQuote>
</soapenv:Body>
</soapenv:Envelope>
The error in the trace file is as follows:
AxisFault
faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server
faultSubcode:
faultString: Illegal character in URL
faultActor:
faultNode:
faultDetail:
{http://www.themindelectric.com/}electric-detail: java.net.MalformedURLExceptionIllegal character in URLjava.net.MalformedURLException: Illegal character in URL
When I try this request from XMLSpy I get the following error response:
<?xml version="1.0" encoding="UTF-8"?>
<soap:Envelope xmlns:soap=“http://schemas.xmlsoap.org/soap/envelope/” xmlns:xsi=“http://www.w3.org/2001/XMLSchema-instance” xmlns:xsd=“XML Schema” xmlns:soapenc=“http://schemas.xmlsoap.org/soap/encoding/” soap:encodingStyle=“http://schemas.xmlsoap.org/soap/encoding/”>
soap:Body
soap:Fault
soap:Server
Server returned HTTP response code: 400 for URL: http://quote.yahoo.com/q?s=
IBM
&d=v1&o=t
<e:electric-detail xmlns:e=“http://www.themindelectric.com/”>
java.io.IOException
Server returned HTTP response code: 400 for URL: http://quote.yahoo.com/q?s=
IBM
&d=v1&o=t
java.io.IOException: Server returned HTTP response code: 400 for URL: http://quote.yahoo.com/q?s=
IBM
&d=v1&o=t
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:604)
at java.net.URL.openStream(URL.java:793)
at com.xmethods.webscrape.getContent(webscrape.java:47)
at net.xmethods.services.stockquote.StockQuote.getQuote(StockQuote.java:20)
at java.lang.reflect.Method.invoke(Native Method)
at electric.util.Function.execute(Function.java:138)
at electric.util.Function.invoke(Function.java:77)
at electric.service.object.ObjectService.invoke(ObjectService.java:356)
at electric.net.soap.SOAP.invoke(SOAP.java:186)
at electric.net.soap.SOAP.invoke(SOAP.java:125)
at electric.net.soap.SOAP.invoke(SOAP.java:95)
at electric.net.soap.http.SOAPHandler.service(SOAPHandler.java:77)
at electric.server.http.ServletServer.service(ServletServer.java:218)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at electric.net.servlet.Config.service(Config.java:182)
at electric.net.http.HTTPContext.service(HTTPContext.java:118)
at electric.net.servlet.Servlets.service(Servlets.java:47)
at electric.net.http.WebServer.service(WebServer.java:127)
at electric.net.tcp.TCPServer.run(TCPServer.java:145)
at electric.net.tcp.Request.run(TCPServer.java:262)
at electric.util.ThreadPool.run(ThreadPool.java:105)
at java.lang.Thread.run(Thread.java:479)
</e:electric-detail>
</soap:Fault>
</soap:Body>
</soap:Envelope>
But when I edit the SOAP Request and take out the white spaces in the SOAP Request (in the symbol element), like this:
<soapenv:Envelope xmlns:soapenv=“http://schemas.xmlsoap.org/soap/envelope/” xmlns:xsd=“XML Schema” xmlns:xsi=“http://www.w3.org/2001/XMLSchema-instance”>
soapenv:Body
<ns1:getQuote soapenv:encodingStyle=“http://schemas.xmlsoap.org/soap/encoding/” xmlns:ns1=“urn:xmethods-delayed-quotes”>
IBM
</ns1:getQuote>
</soapenv:Body>
</soapenv:Envelope>
and I try again from XMLSpy it works. So it seems that the white space is somehow added from my input XML document (which I post to the sequence).
Maybe you should try to follow the same steps in your environment and see what type of information you get. I’ll check whether I can get the white space characters removed from the SOAP Request that is created.
One last thing, I noted that in your sequence you use the following XPATH expression for the SOAP Result “/Doc/Out”. I don’t think this will work. I suggest you try “/*”.
Regards
Theo
I got it working. Try this sequence:
<?xml version="1.0" encoding="UTF-8"?>
Hopefully it will work for you.
Theo
Hi all,
Just a while: the problem arises with TAMINO persistence and SOAP Gateway :o
for ex., with File Persistence it works fine, with HTTP Gateway it works fine
NOTE: during a HTTP trace I note the following error:
<ino:message ino:returnvalue=“6352”>
<ino:messagetext ino:code=“INOXQE6352”>XQuery parsing error</ino:messagetext>
ino:messageline
Syntax error at line 1, column 2031:
</ino:messageline>
</ino:message>
Maybe, the problem is due to a bad XQUERY format used to UPDATE Tamino document instance. In fact, in the UPDATE XQUERY we have an expression with “:” character that cannot be used inside an evaluation expression like {($a+$b)}. The “:” char is due to the {{Software & Technology Services and Solutions | Software AG}}net.xmethods.services.stockquote.StockQuotePort string.
do someone have a similar error?
bye
Michelangelo
Michelangelo Serpico
Software AG
+39 02950011.1
+39 3488205068
michelangelo.serpico@softwareag.com