Web services call datetime parameter format error...
We fallow instruction below
http://www.oracle.com/technology/products/jdev/viewlets/1013/bpelfromadf_viewlet_swf.html
When we want to send date field to the bpel process fallowing error occurs.
JBO-25009: $''2005-06-10T15:56:00'' value java.util.Date type object can't create.
java.lang.IllegalArgumentException
How can we solve this problem?
code sample will be very good for us..
Thanks..
Try using the following code
private static Date parseDate(String date, SimpleDateFormat format) throws Exception
try
int zone = -1;
if ( (zone = date.lastIndexOf('+')) != -1 )
format.setTimeZone(TimeZone.getTimeZone("GMT" + date.substring(zone, date.length())));
else if ( ((zone = date.lastIndexOf('-')) != -1) && (zone >= 10) )
format.setTimeZone(TimeZone.getTimeZone("GMT" + date.substring(zone, date.length())));
else
format.setTimeZone(TimeZone.getDefault());
return format.parse(date.substring(0, 10) + "Z");
} catch (Exception e)
e.printStackTrace();
}Invoke the method as follows
parseDate("2005-06-10'T'15:56:00", new SimpleDateFormat("yyyy-MM-dd'Z'", Locale.US);This will return a java.util.Date. The '+' and '-' are for if you want to add a timezone offset such as "+06:00" or "-06:00" to the end of your date string.
Similar Messages
-
Weblogic app server wsdl web service call with SSL Validation error = 16
Weblogic app server wsdl web service call with SSL Validation error = 16
I need to make wsdl web service call in my weblogic app server. The web service is provided by a 3rd party vendor. I keep getting error
Cannot complete the certificate chain: No trusted cert found
Certificate chain received from ws-eq.demo.xxx.com - xx.xxx.xxx.156 was not trusted causing SSL handshake failure
Validation error = 16
From the SSL debug log, I can see 3 verisign hierarchy certs are correctly loaded (see 3 lines in the log message starting with “adding as trusted cert”). But somehow after first handshake, I got error “Cannot complete the certificate chain: No trusted cert found”.
Here is how I load trustStore and keyStore in my java program:
System.setProperty("javax.net.ssl.trustStore",”cacerts”);
System.setProperty("javax.net.ssl.trustStorePassword", trustKeyPasswd);
System.setProperty("javax.net.ssl.trustStoreType","JKS");
System.setProperty("javax.net.ssl.keyStoreType","JKS");
System.setProperty("javax.net.ssl.keyStore", keyStoreName);
System.setProperty("javax.net.ssl.keyStorePassword",clientCertPwd); System.setProperty("com.sun.xml.ws.transport.http.client.HttpTransportPipe.dump","true");
Here is how I create cacerts using verisign hierarchy certs (in this order)
1.6.0_29/jre/bin/keytool -import -trustcacerts -keystore cacerts -storepass changeit -file VerisignClass3G5PCA3Root.txt -alias "Verisign Class3 G5P CA3 Root"
1.6.0_29/jre/bin/keytool -import -trustcacerts -keystore cacerts -storepass changeit -file VerisignC3G5IntermediatePrimary.txt -alias "Verisign C3 G5 Intermediate Primary"
1.6.0_29/jre/bin/keytool -import -trustcacerts -keystore cacerts -storepass changeit -file VerisignC3G5IntermediateSecondary.txt -alias "Verisign C3 G5 Intermediate Secondary"
Because my program is a weblogic app server, when I start the program, I have java command line options set as:
-Dweblogic.security.SSL.trustedCAKeyStore=SSLTrust.jks
-Dweblogic.security.SSL.ignoreHostnameVerification=true
-Dweblogic.security.SSL.enforceConstraints=strong
That SSLTrust.jks is the trust certificate from our web server which sits on a different box. In our config.xml file, we also refer to the SSLTrust.jks file when we bring up the weblogic app server.
In addition, we have working logic to use some other wsdl web services from the same vendor on the same SOAP server. In the working web service call flows, we use clientgen to create client stub, and use SSLContext and WLSSLAdapter to load trustStore and keyStore, and then bind the SSLContext and WLSSLAdapter objects to the webSerive client object and make the webservie call. For the new wsdl file, I am told to use wsimport to create client stub. In the client code created, I don’t see any way that I can bind SSLContext and WLSSLAdapter objects to the client object, so I have to load certs by settting system pramaters. Here I attached the the wsdl file.
I have read many articles. It seems as long as I can install the verisign certs correctly to web logic server, I should have fixed the problem. Now the questions are:
1. Do I create “cacerts” the correct order with right keeltool options?
2. Since command line option “-Dweblogic.security.SSL.trustedCAKeyStore” is used for web server jks certificate, will that cause any problem for me?
3. Is it possible to use wsimport to generate client stub that I can bind SSLContext and WLSSLAdapter objects to it?
4. Do I need to put the “cacerts” to some specific weblogic directory?
---------------------------------wsdl file
<wsdl:definitions name="TokenServices" targetNamespace="http://tempuri.org/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:tns="http://tempuri.org/" xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing" xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy" xmlns:wsap="http://schemas.xmlsoap.org/ws/2004/08/addressing/policy" xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl" xmlns:msc="http://schemas.microsoft.com/ws/2005/12/wsdl/contract" xmlns:wsa10="http://www.w3.org/2005/08/addressing" xmlns:wsx="http://schemas.xmlsoap.org/ws/2004/09/mex" xmlns:wsam="http://www.w3.org/2007/05/addressing/metadata">
<wsp:Policy wsu:Id="TokenServices_policy">
<wsp:ExactlyOne>
<wsp:All>
<sp:TransportBinding xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
<wsp:Policy>
<sp:TransportToken>
<wsp:Policy>
<sp:HttpsToken RequireClientCertificate="true"/>
</wsp:Policy>
</sp:TransportToken>
<sp:AlgorithmSuite>
<wsp:Policy>
<sp:Basic256/>
</wsp:Policy>
</sp:AlgorithmSuite>
<sp:Layout>
<wsp:Policy>
<sp:Strict/>
</wsp:Policy>
</sp:Layout>
</wsp:Policy>
</sp:TransportBinding>
<wsaw:UsingAddressing/>
</wsp:All>
</wsp:ExactlyOne>
</wsp:Policy>
<wsdl:types>
<xsd:schema targetNamespace="http://tempuri.org/Imports">
<xsd:import schemaLocation="xsd0.xsd" namespace="http://tempuri.org/"/>
<xsd:import schemaLocation="xsd1.xsd" namespace="http://schemas.microsoft.com/2003/10/Serialization/"/>
</xsd:schema>
</wsdl:types>
<wsdl:message name="ITokenServices_GetUserToken_InputMessage">
<wsdl:part name="parameters" element="tns:GetUserToken"/>
</wsdl:message>
<wsdl:message name="ITokenServices_GetUserToken_OutputMessage">
<wsdl:part name="parameters" element="tns:GetUserTokenResponse"/>
</wsdl:message>
<wsdl:message name="ITokenServices_GetSSOUserToken_InputMessage">
<wsdl:part name="parameters" element="tns:GetSSOUserToken"/>
</wsdl:message>
<wsdl:message name="ITokenServices_GetSSOUserToken_OutputMessage">
<wsdl:part name="parameters" element="tns:GetSSOUserTokenResponse"/>
</wsdl:message>
<wsdl:portType name="ITokenServices">
<wsdl:operation name="GetUserToken">
<wsdl:input wsaw:Action="http://tempuri.org/ITokenServices/GetUserToken" message="tns:ITokenServices_GetUserToken_InputMessage"/>
<wsdl:output wsaw:Action="http://tempuri.org/ITokenServices/GetUserTokenResponse" message="tns:ITokenServices_GetUserToken_OutputMessage"/>
</wsdl:operation>
<wsdl:operation name="GetSSOUserToken">
<wsdl:input wsaw:Action="http://tempuri.org/ITokenServices/GetSSOUserToken" message="tns:ITokenServices_GetSSOUserToken_InputMessage"/>
<wsdl:output wsaw:Action="http://tempuri.org/ITokenServices/GetSSOUserTokenResponse" message="tns:ITokenServices_GetSSOUserToken_OutputMessage"/>
</wsdl:operation>
</wsdl:portType>
<wsdl:binding name="TokenServices" type="tns:ITokenServices">
<wsp:PolicyReference URI="#TokenServices_policy"/>
<soap12:binding transport="http://schemas.xmlsoap.org/soap/http"/>
<wsdl:operation name="GetUserToken">
<soap12:operation soapAction="http://tempuri.org/ITokenServices/GetUserToken" style="document"/>
<wsdl:input>
<soap12:body use="literal"/>
</wsdl:input>
<wsdl:output>
<soap12:body use="literal"/>
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="GetSSOUserToken">
<soap12:operation soapAction="http://tempuri.org/ITokenServices/GetSSOUserToken" style="document"/>
<wsdl:input>
<soap12:body use="literal"/>
</wsdl:input>
<wsdl:output>
<soap12:body use="literal"/>
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:service name="TokenServices">
<wsdl:port name="TokenServices" binding="tns:TokenServices">
<soap12:address location="https://ws-eq.demo.i-deal.com/PhxEquity/TokenServices.svc"/>
<wsa10:EndpointReference>
<wsa10:Address>https://ws-eq.demo.xxx.com/PhxEquity/TokenServices.svc</wsa10:Address>
</wsa10:EndpointReference>
</wsdl:port>
</wsdl:service>
</wsdl:definitions>
----------------------------------application log
adding as trusted cert:
Subject: CN=VeriSign Class 3 International Server CA - G3, OU=Terms of use at https://www.verisign.com/rpa (c)10, OU=VeriSign Trust Network, O="VeriSign, Inc.", C=US
Issuer: CN=VeriSign Class 3 Public Primary Certification Authority - G5, OU="(c) 2006 VeriSign, Inc. - For authorized use only", OU=VeriSign Trust Network, O="VeriSign, Inc.", C=US
Algorithm: RSA; Serial number: 0x641be820ce020813f32d4d2d95d67e67
Valid from Sun Feb 07 19:00:00 EST 2010 until Fri Feb 07 18:59:59 EST 2020
adding as trusted cert:
Subject: OU=Class 3 Public Primary Certification Authority, O="VeriSign, Inc.", C=US
Issuer: OU=Class 3 Public Primary Certification Authority, O="VeriSign, Inc.", C=US
Algorithm: RSA; Serial number: 0x3c9131cb1ff6d01b0e9ab8d044bf12be
Valid from Sun Jan 28 19:00:00 EST 1996 until Wed Aug 02 19:59:59 EDT 2028
adding as trusted cert:
Subject: CN=VeriSign Class 3 Public Primary Certification Authority - G5, OU="(c) 2006 VeriSign, Inc. - For authorized use only", OU=VeriSign Trust Network, O="VeriSign, Inc.", C=US
Issuer: OU=Class 3 Public Primary Certification Authority, O="VeriSign, Inc.", C=US
Algorithm: RSA; Serial number: 0x250ce8e030612e9f2b89f7054d7cf8fd
Valid from Tue Nov 07 19:00:00 EST 2006 until Sun Nov 07 18:59:59 EST 2021
<Mar 7, 2013 6:59:21 PM EST> <Debug> <SecuritySSL> <BEA-000000> <Ignoring not supported JCE Cipher: SunPKCS11-Solaris version 1.6 for algorithm DESede/CBC/NoPadding>
<Mar 7, 2013 6:59:21 PM EST> <Debug> <SecuritySSL> <BEA-000000> <Will use default Cipher for algorithm DESede>
<Mar 7, 2013 6:59:21 PM EST> <Debug> <SecuritySSL> <BEA-000000> <Using JCE Cipher: SunJCE version 1.6 for algorithm RSA/ECB/NoPadding>
<Mar 7, 2013 6:59:22 PM EST> <Debug> <SecuritySSL> <BEA-000000> <SSLSetup: loading trusted CA certificates>
<Mar 7, 2013 6:59:22 PM EST> <Debug> <SecuritySSL> <BEA-000000> <Filtering JSSE SSLSocket>
<Mar 7, 2013 6:59:22 PM EST> <Debug> <SecuritySSL> <BEA-000000> <SSLIOContextTable.addContext(ctx): 28395435>
<Mar 7, 2013 6:59:22 PM EST> <Debug> <SecuritySSL> <BEA-000000> <SSLSocket will be Muxing>
<Mar 7, 2013 6:59:22 PM EST> <Debug> <SecuritySSL> <BEA-000000> <write HANDSHAKE, offset = 0, length = 115>
<Mar 7, 2013 6:59:22 PM EST> <Debug> <SecuritySSL> <BEA-000000> <isMuxerActivated: false>
<Mar 7, 2013 6:59:22 PM EST> <Debug> <SecuritySSL> <BEA-000000> <25779276 SSL3/TLS MAC>
<Mar 7, 2013 6:59:22 PM EST> <Debug> <SecuritySSL> <BEA-000000> <25779276 received HANDSHAKE>
<Mar 7, 2013 6:59:22 PM EST> <Debug> <SecuritySSL> <BEA-000000> <HANDSHAKEMESSAGE: ServerHello>
<Mar 7, 2013 6:59:22 PM EST> <Debug> <SecuritySSL> <BEA-000000> <HANDSHAKEMESSAGE: Certificate>
<Mar 7, 2013 6:59:22 PM EST> <Debug> <SecuritySSL> <BEA-000000> <Cannot complete the certificate chain: No trusted cert found>
<Mar 7, 2013 6:59:22 PM EST> <Debug> <SecuritySSL> <BEA-000000> <Validating certificate 0 in the chain: Serial number: 2400410601231772600606506698552332774
Issuer:C=US, O=VeriSign, Inc., OU=VeriSign Trust Network, OU=Terms of use at https://www.verisign.com/rpa (c)10, CN=VeriSign Class 3 International Server CA - G3
Subject:C=US, ST=New York, L=New York, O=xxx LLC, OU=GTIG, CN=ws-eq.demo.xxx.com
Not Valid Before:Tue Dec 18 19:00:00 EST 2012
Not Valid After:Wed Jan 07 18:59:59 EST 2015
Signature Algorithm:SHA1withRSA
>
<Mar 7, 2013 6:59:22 PM EST> <Debug> <SecuritySSL> <BEA-000000> <Validating certificate 1 in the chain: Serial number: 133067699711757643302127248541276864103
Issuer:C=US, O=VeriSign, Inc., OU=VeriSign Trust Network, OU=(c) 2006 VeriSign, Inc. - For authorized use only, CN=VeriSign Class 3 Public Primary Certification Authority - G5
Subject:C=US, O=VeriSign, Inc., OU=VeriSign Trust Network, OU=Terms of use at https://www.verisign.com/rpa (c)10, CN=VeriSign Class 3 International Server CA - G3
Not Valid Before:Sun Feb 07 19:00:00 EST 2010
Not Valid After:Fri Feb 07 18:59:59 EST 2020
Signature Algorithm:SHA1withRSA
>
<Mar 7, 2013 6:59:22 PM EST> <Debug> <SecuritySSL> <BEA-000000> <validationCallback: validateErr = 16>
<Mar 7, 2013 6:59:22 PM EST> <Debug> <SecuritySSL> <BEA-000000> < cert[0] = Serial number: 2400410601231772600606506698552332774
Issuer:C=US, O=VeriSign, Inc., OU=VeriSign Trust Network, OU=Terms of use at https://www.verisign.com/rpa (c)10, CN=VeriSign Class 3 International Server CA - G3
Subject:C=US, ST=New York, L=New York, O=xxx LLC, OU=GTIG, CN=ws-eq.demo.xxx.com
Not Valid Before:Tue Dec 18 19:00:00 EST 2012
Not Valid After:Wed Jan 07 18:59:59 EST 2015
Signature Algorithm:SHA1withRSA
>
<Mar 7, 2013 6:59:22 PM EST> <Debug> <SecuritySSL> <BEA-000000> < cert[1] = Serial number: 133067699711757643302127248541276864103
Issuer:C=US, O=VeriSign, Inc., OU=VeriSign Trust Network, OU=(c) 2006 VeriSign, Inc. - For authorized use only, CN=VeriSign Class 3 Public Primary Certification Authority - G5
Subject:C=US, O=VeriSign, Inc., OU=VeriSign Trust Network, OU=Terms of use at https://www.verisign.com/rpa (c)10, CN=VeriSign Class 3 International Server CA - G3
Not Valid Before:Sun Feb 07 19:00:00 EST 2010
Not Valid After:Fri Feb 07 18:59:59 EST 2020
Signature Algorithm:SHA1withRSA
>
<Mar 7, 2013 6:59:22 PM EST> <Debug> <SecuritySSL> <BEA-000000> <weblogic user specified trustmanager validation status 16>
<Mar 7, 2013 6:59:22 PM EST> <Warning> <Security> <BEA-090477> <Certificate chain received from ws-eq.demo.xxx.com - xx.xxx.xxx.156 was not trusted causing SSL handshake failure.>
<Mar 7, 2013 6:59:22 PM EST> <Debug> <SecuritySSL> <BEA-000000> <Validation error = 16>
<Mar 7, 2013 6:59:22 PM EST> <Debug> <SecuritySSL> <BEA-000000> <Certificate chain is untrusted>
<Mar 7, 2013 6:59:22 PM EST> <Debug> <SecuritySSL> <BEA-000000> <SSLTrustValidator returns: 16>
<Mar 7, 2013 6:59:22 PM EST> <Debug> <SecuritySSL> <BEA-000000> <Trust status (16): CERT_CHAIN_UNTRUSTED>
<Mar 7, 2013 6:59:22 PM EST> <Debug> <SecuritySSL> <BEA-000000> <NEW ALERT with Severity: FATAL, Type: 42
java.lang.Exception: New alert stack
at com.certicom.tls.record.alert.Alert.<init>(Unknown Source)
at com.certicom.tls.record.handshake.HandshakeHandler.fireAlert(Unknown Source)
at com.certicom.tls.record.handshake.ClientStateReceivedServerHello.handle(Unknown Source)
at com.certicom.tls.record.handshake.HandshakeHandler.handleHandshakeMessage(Unknown Source)
at com.certicom.tls.record.handshake.HandshakeHandler.handleHandshakeMessages(Unknown Source)
at com.certicom.tls.record.MessageInterpreter.interpretContent(Unknown Source)
at com.certicom.tls.record.MessageInterpreter.decryptMessage(Unknown Source)
at com.certicom.tls.record.ReadHandler.processRecord(Unknown Source)
at com.certicom.tls.record.ReadHandler.readRecord(Unknown Source)
at com.certicom.tls.record.ReadHandler.readUntilHandshakeComplete(Unknown Source)
at com.certicom.tls.interfaceimpl.TLSConnectionImpl.completeHandshake(Unknown Source)
at com.certicom.tls.record.WriteHandler.write(Unknown Source)
at com.certicom.io.OutputSSLIOStreamWrapper.write(Unknown Source)
at java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:65)
at java.io.BufferedOutputStream.flush(BufferedOutputStream.java:123)
at java.io.FilterOutputStream.flush(FilterOutputStream.java:123)
at weblogic.net.http.HttpURLConnection.writeRequests(HttpURLConnection.java:154)
at weblogic.net.http.HttpURLConnection.getInputStream(HttpURLConnection.java:358)
at weblogic.net.http.SOAPHttpsURLConnection.getInputStream(SOAPHttpsURLConnection.java:37)
at weblogic.wsee.util.is.InputSourceUtil.loadURL(InputSourceUtil.java:100)
at weblogic.wsee.util.dom.DOMParser.getWebLogicDocumentImpl(DOMParser.java:118)
at weblogic.wsee.util.dom.DOMParser.getDocument(DOMParser.java:65)
at weblogic.wsee.wsdl.WsdlReader.getDocument(WsdlReader.java:311)
at weblogic.wsee.wsdl.WsdlReader.getDocument(WsdlReader.java:305)
at weblogic.wsee.jaxws.spi.WLSProvider.readWSDL(WLSProvider.java:296)
at weblogic.wsee.jaxws.spi.WLSProvider.createServiceDelegate(WLSProvider.java:77)
at weblogic.wsee.jaxws.spi.WLSProvider.createServiceDelegate(WLSProvider.java:62)
at javax.xml.ws.Service.<init>(Service.java:56)
at ideal.ws2j.eqtoken.TokenServices.<init>(TokenServices.java:64)
at com.citi.ilrouter.util.IpreoEQSSOClient.invokeRpcPortalToken(IpreoEQSSOClient.java:165)
at com.citi.ilrouter.servlets.T3LinkServlet.doPost(T3LinkServlet.java:168)
at com.citi.ilrouter.servlets.T3LinkServlet.doGet(T3LinkServlet.java:206)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:707)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:292)
at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:175)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(Unknown Source)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
at weblogic.security.service.SecurityManager.runAs(Unknown Source)
at weblogic.servlet.internal.WebAppServletContext.securedExecute(Unknown Source)
at weblogic.servlet.internal.WebAppServletContext.execute(Unknown Source)
at weblogic.servlet.internal.ServletRequestImpl.run(Unknown Source)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
>
<Mar 7, 2013 6:59:22 PM EST> <Debug> <SecuritySSL> <BEA-000000> <write ALERT, offset = 0, length = 2>
<Mar 7, 2013 6:59:22 PM EST> <Debug> <SecuritySSL> <BEA-000000> <close(): 6457753>
<Mar 7, 2013 6:59:22 PM EST> <Debug> <SecuritySSL> <BEA-000000> <close(): 6457753>
<Mar 7, 2013 6:59:22 PM EST> <Debug> <SecuritySSL> <BEA-000000> <SSLIOContextTable.removeContext(ctx): 22803607>
<Mar 7, 2013 6:59:22 PM EST> <Debug> <SecuritySSL> <BEA-000000> <Filtering JSSE SSLSocket>
<Mar 7, 2013 6:59:22 PM EST> <Debug> <SecuritySSL> <BEA-000000> <SSLIOContextTable.addContext(ctx): 14640403>
<Mar 7, 2013 6:59:22 PM EST> <Debug> <SecuritySSL> <BEA-000000> <SSLSocket will be Muxing>
<Mar 7, 2013 6:59:22 PM EST> <Debug> <SecuritySSL> <BEA-000000> <write HANDSHAKE, offset = 0, length = 115>
<Mar 7, 2013 6:59:22 PM EST> <Debug> <SecuritySSL> <BEA-000000> <isMuxerActivated: false>
<Mar 7, 2013 6:59:22 PM EST> <Debug> <SecuritySSL> <BEA-000000> <23376797 SSL3/TLS MAC>
<Mar 7, 2013 6:59:22 PM EST> <Debug> <SecuritySSL> <BEA-000000> <23376797 received HANDSHAKE>
<Mar 7, 2013 6:59:22 PM EST> <Debug> <SecuritySSL> <BEA-000000> <HANDSHAKEMESSAGE: ServerHello>
<Mar 7, 2013 6:59:22 PM EST> <Debug> <SecuritySSL> <BEA-000000> <HANDSHAKEMESSAGE: Certificate>
<Mar 7, 2013 6:59:22 PM EST> <Debug> <SecuritySSL> <BEA-000000> <Cannot complete the certificate chain: No trusted cert found>
<Mar 7, 2013 6:59:22 PM EST> <Debug> <SecuritySSL> <BEA-000000> <Validating certificate 0 in the chain: Serial number: 2400410601231772600606506698552332774
Issuer:C=US, O=VeriSign, Inc., OU=VeriSign Trust Network, OU=Terms of use at https://www.verisign.com/rpa (c)10, CN=VeriSign Class 3 International Server CA - G3
Subject:C=US, ST=New York, L=New York, O=xxx LLC, OU=GTIG, CN=ws-eq.demo.xxx.com
Not Valid Before:Tue Dec 18 19:00:00 EST 2012
Not Valid After:Wed Jan 07 18:59:59 EST 2015
Signature Algorithm:SHA1withRSA
>
<Mar 7, 2013 6:59:22 PM EST> <Debug> <SecuritySSL> <BEA-000000> <Validating certificate 1 in the chain: Serial number: 133067699711757643302127248541276864103
Issuer:C=US, O=VeriSign, Inc., OU=VeriSign Trust Network, OU=(c) 2006 VeriSign, Inc. - For authorized use only, CN=VeriSign Class 3 Public Primary Certification Authority - G5
Subject:C=US, O=VeriSign, Inc., OU=VeriSign Trust Network, OU=Terms of use at https://www.verisign.com/rpa (c)10, CN=VeriSign Class 3 International Server CA - G3
Not Valid Before:Sun Feb 07 19:00:00 EST 2010
Not Valid After:Fri Feb 07 18:59:59 EST 2020
Signature Algorithm:SHA1withRSA
>
<Mar 7, 2013 6:59:22 PM EST> <Debug> <SecuritySSL> <BEA-000000> <validationCallback: validateErr = 16>
<Mar 7, 2013 6:59:22 PM EST> <Debug> <SecuritySSL> <BEA-000000> < cert[0] = Serial number: 2400410601231772600606506698552332774
Issuer:C=US, O=VeriSign, Inc., OU=VeriSign Trust Network, OU=Terms of use at https://www.verisign.com/rpa (c)10, CN=VeriSign Class 3 International Server CA - G3
Subject:C=US, ST=New York, L=New York, O=xxx LLC, OU=GTIG, CN=ws-eq.demo.xxx.com
Not Valid Before:Tue Dec 18 19:00:00 EST 2012
Not Valid After:Wed Jan 07 18:59:59 EST 2015
Signature Algorithm:SHA1withRSA
>
<Mar 7, 2013 6:59:22 PM EST> <Debug> <SecuritySSL> <BEA-000000> < cert[1] = Serial number: 133067699711757643302127248541276864103
Issuer:C=US, O=VeriSign, Inc., OU=VeriSign Trust Network, OU=(c) 2006 VeriSign, Inc. - For authorized use only, CN=VeriSign Class 3 Public Primary Certification Authority - G5
Subject:C=US, O=VeriSign, Inc., OU=VeriSign Trust Network, OU=Terms of use at https://www.verisign.com/rpa (c)10, CN=VeriSign Class 3 International Server CA - G3
Not Valid Before:Sun Feb 07 19:00:00 EST 2010
Not Valid After:Fri Feb 07 18:59:59 EST 2020
Signature Algorithm:SHA1withRSA
>
<Mar 7, 2013 6:59:22 PM EST> <Debug> <SecuritySSL> <BEA-000000> <weblogic user specified trustmanager validation status 16>
<Mar 7, 2013 6:59:22 PM EST> <Warning> <Security> <BEA-090477> <Certificate chain received from ws-eq.demo.xxx.com - 12.29.210.156 was not trusted causing SSL handshake failure.>
<Mar 7, 2013 6:59:22 PM EST> <Debug> <SecuritySSL> <BEA-000000> <Validation error = 16>
<Mar 7, 2013 6:59:22 PM EST> <Debug> <SecuritySSL> <BEA-000000> <Certificate chain is untrusted>
<Mar 7, 2013 6:59:22 PM EST> <Debug> <SecuritySSL> <BEA-000000> <SSLTrustValidator returns: 16>
<Mar 7, 2013 6:59:22 PM EST> <Debug> <SecuritySSL> <BEA-000000> <Trust status (16): CERT_CHAIN_UNTRUSTED>
<Mar 7, 2013 6:59:22 PM EST> <Debug> <SecuritySSL> <BEA-000000> <NEW ALERT with Severity: FATAL, Type: 42
java.lang.Exception: New alert stack
at com.certicom.tls.record.alert.Alert.<init>(Unknown Source)
at com.certicom.tls.record.handshake.HandshakeHandler.fireAlert(Unknown Source)
at com.certicom.tls.record.handshake.ClientStateReceivedServerHello.handle(Unknown Source)
at com.certicom.tls.record.handshake.HandshakeHandler.handleHandshakeMessage(Unknown Source)
at com.certicom.tls.record.handshake.HandshakeHandler.handleHandshakeMessages(Unknown Source)
at com.certicom.tls.record.MessageInterpreter.interpretContent(Unknown Source)
at com.certicom.tls.record.MessageInterpreter.decryptMessage(Unknown Source)
at com.certicom.tls.record.ReadHandler.processRecord(Unknown Source)
at com.certicom.tls.record.ReadHandler.readRecord(Unknown Source)
at com.certicom.tls.record.ReadHandler.readUntilHandshakeComplete(Unknown Source)
at com.certicom.tls.interfaceimpl.TLSConnectionImpl.completeHandshake(Unknown Source)
at com.certicom.tls.record.WriteHandler.write(Unknown Source)
at com.certicom.io.OutputSSLIOStreamWrapper.write(Unknown Source)
at java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:65)
at java.io.BufferedOutputStream.flush(BufferedOutputStream.java:123)
at java.io.FilterOutputStream.flush(FilterOutputStream.java:123)
at weblogic.net.http.HttpURLConnection.writeRequests(HttpURLConnection.java:154)
at weblogic.net.http.HttpURLConnection.getInputStream(HttpURLConnection.java:358)
at weblogic.net.http.SOAPHttpsURLConnection.getInputStream(SOAPHttpsURLConnection.java:37)
at weblogic.wsee.util.is.InputSourceUtil.loadURL(InputSourceUtil.java:100)
at weblogic.wsee.util.dom.DOMParser.getWebLogicDocumentImpl(DOMParser.java:118)
at weblogic.wsee.util.dom.DOMParser.getDocument(DOMParser.java:65)
at weblogic.wsee.wsdl.WsdlReader.getDocument(WsdlReader.java:311)
at weblogic.wsee.wsdl.WsdlReader.getDocument(WsdlReader.java:305)
at weblogic.wsee.jaxws.spi.WLSProvider.readWSDL(WLSProvider.java:296)
at weblogic.wsee.jaxws.spi.WLSProvider.createServiceDelegate(WLSProvider.java:77)
at weblogic.wsee.jaxws.spi.WLSProvider.createServiceDelegate(WLSProvider.java:62)
at javax.xml.ws.Service.<init>(Service.java:56)
at ideal.ws2j.eqtoken.TokenServices.<init>(TokenServices.java:64)
at com.citi.ilrouter.util.IpreoEQSSOClient.invokeRpcPortalToken(IpreoEQSSOClient.java:165)
at com.citi.ilrouter.servlets.T3LinkServlet.doPost(T3LinkServlet.java:168)
at com.citi.ilrouter.servlets.T3LinkServlet.doGet(T3LinkServlet.java:206)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:707)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:292)
at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:175)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(Unknown Source)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
at weblogic.security.service.SecurityManager.runAs(Unknown Source)
at weblogic.servlet.internal.WebAppServletContext.securedExecute(Unknown Source)
at weblogic.servlet.internal.WebAppServletContext.execute(Unknown Source)
at weblogic.servlet.internal.ServletRequestImpl.run(Unknown Source)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
>
<Mar 7, 2013 6:59:22 PM EST> <Debug> <SecuritySSL> <BEA-000000> <write ALERT, offset = 0, length = 2>
<Mar 7, 2013 6:59:22 PM EST> <Debug> <SecuritySSL> <BEA-000000> <close(): 16189141>I received a workaround by an internal message.
The how to guide is :
-Download the wsdl file (with bindings, not the one from ESR)
-Correct it in order that the schema corresponds to the answer (remove minOccurs or other things like this)
-Deploy the wsdl file on you a server (java web project for exemple). you can deploy on your local
-Create a new logicial destination that point to the wsdl file modified
-Change the metadata destination in your web dynpro project for the corresponding model and keep the execution desitnation as before.
Then the received data is check by the metadata logical destination but the data is retrieved from the correct server. -
How to retrieve error message(s) after failed web service call
Hi!
I tried to create an item using the web service ego_item_pub.process_item and it worked ok (version 12.1.1). Sending the same request again, I got an error which should be ok since the item id already exists. The thing is, that I only get an "E" as return status:
<X_RETURN_STATUS>E</X_RETURN_STATUS>
<X_MSG_COUNT>1</X_MSG_COUNT>
As described in the integration repository, there should be a parameter called msg_data which should contain the message if there is exactly 1 message, but I cannot find it.
So, I tried to get the message using fnd_message.get, but the response of my web service call is:
AuthorizationFailure : User not authorized to execute service. (I use sysadmin/sysadmin as ws security user).
I use the following grant details:
All Users Direct GLOBAL Revoke Action Enabled
SYSADMIN SYSADMIN Direct USER
What else can I do or how can I retrieve error messages for a failed web service call?
Thanks a lot,
KonradHi Konrad,
As we've found out, search the Integration Repository for internal name ERROR_HANDLER and use that. Letting the general public know the answer for this one!
Regards,
Gareth
http://garethroberts.blogspot.com -
Error while calling SPML web service call in OIM 11g
Hi,
While testing the SPML web service call, I am getting the "failure in security check" errors.
And I have attached the request and responce .
Request:
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Header xmlns:ns1="urn:names:spml:ws:header">
<ns1:ServiceHeader>
<ns1:serviceId/>
</ns1:ServiceHeader>
<wsse:Security soap:mustUnderstand="1" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
<wsse:UsernameToken>
<wsse:Username>xelsysadm</wsse:Username>
<wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">XXXXXXXX</wsse:Password>
</wsse:UsernameToken>
</wsse:Security>
</soap:Header>
<soap:Body xmlns:ns2="http://xmlns.oracle.com/idm/identity/spmlv2custom/Username">
<ns2:validateUsernameRequest xmlns:ns3="urn:oasis:names:tc:SPML:2:0" requestID="12345" executionMode="synchronous" locale="en" policyURI="http://www.sample.com/string/string">
<ns2:capabilityData mustUnderstand="true" capabilityURI="urn:oasis:names:tc:SPML:2:0:reference"/>
<ns2:username>TCS1000</ns2:username>
</ns2:validateUsernameRequest>
</soap:Body>
</soap:Envelope
Response:
<env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/">
<env:Header/>
<env:Body>
<env:Fault xmlns:ns0="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
<faultcode>ns0:FailedCheck</faultcode>
<faultstring>FailedCheck : failure in security check</faultstring>
<faultactor/>
</env:Fault>
</env:Body>
</env:Envelope>
I have attached the log file from OIM
####<Apr 26, 2012 10:27:13 AM EDT> <Error> <oracle.wsm.resources.enforcement> <corwloimhd01> <dev-oim_oim_server01> <[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'> <<anonymous>> <> <214014dca901f288:-460ab67b:136eeab0662:-7ffd-0000000000000838> <1335450433058> <WSM-07501> <Failure in Oracle WSM Agent processRequest, category=security, function=agent.function.service, application=spml-xsd, composite=null, modelObj=SPMLService, policy=oracle/wss11_saml_or_username_token_with_message_protection_service_policy, policyVersion=1, assertionName={http://schemas.oracle.com/ws/2006/01/securitypolicy}wss11-username-with-certificates.>
####<Apr 26, 2012 10:27:13 AM EDT> <Notice> <Stdout> <corwloimhd01> <dev-oim_oim_server01> <[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <214014dca901f288:-460ab67b:136eeab0662:-7ffd-000000000000083d> <1335450433058> <BEA-000000> <<Apr 26, 2012 10:27:13 AM EDT> <Error> <oracle.wsm.resources.enforcement> <WSM-07501> <Failure in Oracle WSM Agent processRequest, category=security, function=agent.function.service, application=spml-xsd, composite=null, modelObj=SPMLService, policy=oracle/wss11_saml_or_username_token_with_message_protection_service_policy, policyVersion=1, assertionName={http://schemas.oracle.com/ws/2006/01/securitypolicy}wss11-username-with-certificates.>>
Please help me how to solve this issue.
Thanks in advance
SivaYour business logic has to be implemented by using OIM APIS. oimclient.jar..
you can then expose these business functions accordingly using a webservice or rest ...
for business logic refer:-
http://docs.oracle.com/cd/E27559_01/dev.1112/e27150/apis.htm#OMDEV734
You will basicsally have to deal with UserManager class for managing users.
java API:
http://docs.oracle.com/cd/E27559_01/apirefs.1112/e28159/toc.htm -
SharePoint SiteMialbox failed with 503 error (AutoDiscover.svc web service call failed)
I followed Technet articles to configure SiteMailBoxes in our environment & exchange sever.
When we created Sitemailbox in a SiteCollection &when we try to open it, it failed with below error.
Site Mailbox
We are having trouble connecting to Exchange Server
The server might be temporarily unavailable. Please check back on this page in a few minutes. If this problem persists, please contact your system administrator.
Correlation ID: bb0fe99c-6f4e-e084-b191-881fbf0fa977, Error Code 10
ULS Log (503 error)
Autodiscover Diagnostics Response Headers: request-id: 95d12ceb-283e-4495-b28b-256503fd097c client-request-id: 742fe69c-ef5a-e084-ca05-6098c759c584 X-CalculatedBETarget: devapwxyz01a.devap.mydomain.com X-FEServer: DEVNAABCD01B
Content-Length: 0 Cache-Control: private Date: Tue, 03 Feb 2015 18:53:40 GMT Set-Cookie: X-BackEndCookie=; expires=Sun, 03-Feb-1985 18:53:40 GMT; path=/autodiscover; secure; HttpOnly Server: Microsoft-IIS/8.5 X-AspNet-Version:
4.0.30319 X-Powered-By: ASP.NET
742fe69c-ef5a-e084-ca05-6098c759c584
if I am correct, X-CalculatedBETarget supposed to be DEVNAABCD01B.devna.mydomain.com but it connected to different domain devapwxyz01a.devap.mydomain.com. Do you guys have any idea on this? (I verified
the same using fiddler, it is failing right at autodiscover.svc call.)
I wrote a powershell script to connect autodiscover service in sharepoint server & this web service call able connect right server X-CalculatedBETarget. It gave the expected response.
I am not sure why SharePoint webservice call (X-CalculatedBETarget) is going to different server?
let me know if you guys have any ideas.
Thanks.Thanks for the Response Raj.
I already followed the same instructions in the Links.
When SharePoint Autodisover.svc webservice send a request to Exchange server & Exchange server redirecting that request to different server, this is the problem i am facing right now.
X-CalculatedBETarget
supposed to be DEVNAABCD01B.devna.mydomain.com but it connected to different domain devapwxyz01a.devap.mydomain.com.
Let me know if you have any suggestions? -
Occasional SOAP errors when making web service calls from C#
We have a C# application making web service calls to RFCs (non-NCO, SAP 4.7, WAS 6.40) and occasionally getting the following error:
The 'SOAP-ENV:Envelope' start tag on line '1' does not match the end tag of 'SOAP-ENV:Envel'. Line 1, position 34560.
This error happens randomly and can occur, not occur, and occur again for the exact same call (same data, same web service call). I anticipate that we might have a missing configuration on one of our application servers, but don't know where to tell BASIS to look. Any ideas or other help would be appreciated.That's going to be difficult. The random nature of the error makes it impossible to reproduce (so far) in our Development and Test environments. Since the error is coming from the SAP side, I believe I would need a sniffer on each production application server in order to try to catch this and that would result in some very large log files. Is there any log file or other SAP transaction that might already be capturing these failures?
-
Errors when processing web service call
Hello Experts,
Based on a requirement, I got a URL based on WSDL, using which I created a Consumer Proxy in SAP.
I created a Logical Port in SOA Manager with type selected as 'WSDL'.
When I'm trying to execute the proxy class to call the webservice using the logical port through SE80 it is throwing an error log as stated below.
1) SOAP:14 Unexpected element -el=definitions ns=http://schemas.xmlsoap.org/wsdl/
2)Error when processing Web service call
3)Error when calling SOAP Runtime functions: Unexpected element -el=definitions ns=http://schemas.xmlsoap.org/wsdl/
Kindly help me out.
Thanks,
VamshiHi,
Check Anton's reply in this thread: External WS Consumption Issue
Also refer the below doc which may help you: Consume an External Web Service in a Nutshell with Good Old ABAP
Calling WebServices from ABAP via HTTPS
Regards,
Kiran -
LCDS web service call throwing error for valid XSD URL
Hi,
I am trying to call a web service which is deployed on a J2EE application[ Project name : WebServiceApplication ] through a different LCDS application [ Project name : lcdsTestWebService] But while loading of mxml following error comming into console.
Can any one explain that why Flex application is looking for DocTypeTestService_schema1.xsd into lcdsTestWebService application when this xsd is
present in WebServiceApplication project.
One intresting point which i found that if i place this xsd into root of lcdsTestWebService application so that it is accessable through
url = "http://localhost:9080/lcdsTestWebService/DocTypeTestService_schema1.xsd" than there is no issue and web service call sucessfully
happen.
[2/14/11 16:23:18:208 IST] 0000002c SystemOut O [LCDS]Deserializing AMFX/HTTP request
Version: 3
(Message #0 targetURI=null, responseURI=null)
(Typed Object #0 'flex.messaging.messages.HTTPMessage')
(Object #1)
body = clientId = "A568DF0F-A60A-1473-CDAB-707E4A185812"
contentType = "application/x-www-form-urlencoded"
destination = "testWebservice"
(Object #2)
DSEndpoint = "my-http"
DSId = "A568DE2A-2809-A1FE-0934-D3ECBC19337C"
headers = httpHeaders = null
messageId = "9F6F7661-8FA1-30CA-3F04-23CD91C1AF90"
method = "GET"
recordHeaders = true
timestamp = 0
timeToLive = 0
url = "http://localhost:9080/lcdsTestWebService/DocTypeTestService_schema1.xsd"
[2/14/11 16:23:19:591 IST] 0000002c SystemOut O [LCDS]-- GET : http://localhost:9080/lcdsTestWebService/DocTypeTestService_schema1.xsd
[2/14/11 16:23:19:591 IST] 0000002c SystemOut O [LCDS]-- Cookie in request: domain = 'localhost', path = '/', client name = 'JSESSIONID', endpoint name = 'JSESSIONID', value = '0000Ii8aRUEKjvhE38Bd_dyW3jw:-1
[2/14/11 16:23:19:591 IST] 0000002c SystemOut O [LCDS]-- Header in request: Accept : */*
[2/14/11 16:23:19:591 IST] 0000002c SystemOut O [LCDS]-- Header in request: Accept-Language : en-US
[2/14/11 16:23:19:591 IST] 0000002c SystemOut O [LCDS]-- Header in request: Referer : http://localhost:9080/lcdsTestWebService/SampleWebService.swf/[[DYNAMIC]]/6
[2/14/11 16:23:19:591 IST] 0000002c SystemOut O [LCDS]-- Header in request: x-flash-version : 10,1,102,64
[2/14/11 16:23:19:591 IST] 0000002c SystemOut O [LCDS]-- Header in request: Content-Type : application/xml
[2/14/11 16:23:19:591 IST] 0000002c SystemOut O [LCDS]-- Header in request: User-Agent : Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; Trident/4.0; SLCC2; .NET CLR 3.5.30729; InfoPath.2; .NET CLR 1.1.4322; MS-RTC LM 8; SLCC1; MS-RTC S; USPortal)
[2/14/11 16:23:19:591 IST] 0000002c SystemOut O [LCDS]-- Header in request: Cache-Control : no-cache
[2/14/11 16:23:19:591 IST] 0000002c SystemOut O [LCDS]-- Begin GET request --
[2/14/11 16:23:19:591 IST] 0000002c SystemOut O [LCDS]
[2/14/11 16:23:19:591 IST] 0000002c SystemOut O [LCDS]-- End GET request --
[2/14/11 16:23:20:191 IST] 0000002d FfdcProvider I com.ibm.ws.ffdc.impl.FfdcProvider logIncident FFDC1003I: FFDC Incident emitted on C:\IBM\WebSphere\Appserver\profiles\AppSrv04\logs\ffdc\server1_1aaf1aaf_11.02.14_16.23.19 .98114899428566798599.txt com.ibm.ws.webcontainer.extension.DefaultExtensionProcessor.handleRequest 573
[2/14/11 16:23:20:391 IST] 0000002c SystemOut O [LCDS]Serializing AMFX/HTTP response
Version: 3
(Message #0 targetURI=/onStatus, responseURI=)
(Typed Object #0 'flex.messaging.messages.ErrorMessage')
body = null
messageId = "A568F5E1-EF0D-DCBC-6AB1-912C2FEAACB2"
extendedData = null
clientId = "A568DF0F-A60A-1473-CDAB-707E4A185812"
headers = (Object #1)
DSStatusCode = 404
rootCause = null
destination = "testWebservice"
faultCode = "Server.Proxy.Request.Failed"
faultString = "HTTP/1.1 404 Not Found"
faultDetail = "HTTP/1.1 404 Not Found"
timeToLive = 0.0
timestamp = 1.297680800351E12
correlationId = "9F6F7661-8FA1-30CA-3F04-23CD91C1AF90"I received a workaround by an internal message.
The how to guide is :
-Download the wsdl file (with bindings, not the one from ESR)
-Correct it in order that the schema corresponds to the answer (remove minOccurs or other things like this)
-Deploy the wsdl file on you a server (java web project for exemple). you can deploy on your local
-Create a new logicial destination that point to the wsdl file modified
-Change the metadata destination in your web dynpro project for the corresponding model and keep the execution desitnation as before.
Then the received data is check by the metadata logical destination but the data is retrieved from the correct server. -
Web service call on hosted env fails with hex to raw conversion error
Hi,
I use Enciva to run some hosted Apex applications, and I've had a call open with them for a few days re: setting up a web service call to an e-mail checker, provided by a company called Rolosoft. The e-mail checker runs fine from outside the hosted environment, but I get the following error trying to call from the Apex application:
ORA-06502: PL/SQL: numeric or value error: hex to raw conversion error
Has anyone hit this error before with web services, I've tried manual and RESTful but get the same error message.
Thanks,
MikeHello,
We encounter the same issue using manual WebService !
Environnement Settings :
Oracle 11g R2 - Windows W2K3 - NLS_CHARACTERSET : AL32UTF8
Apex 4.1
Any suggestions, helps ?
Thanks,
G. -
Error reporting with web service call
Hi Experts,
We have a unique requirement of logging errors or exceptions throughout the message lifecycle to a Logging System via a web service call.
If error occur during message processing, is there any way to trigger an error message from every step of message pipeline which will invoke a web service ?
Please share your views on it.
We are using PI7.3 Java only stack.
- ShriHi
You can try using a try/catch block in your UDF and write the logging lookup logic in catch block.
It can catch some exceptions(For example response message parsing). Just give a try.
And let me know the result.
Thanks,
Dhanish -
Web Service Call from PL/SQL
Hi Gurus,
I am calling a Web Service(RoadNet Application) from Oracle PL/SQL(11g Database). My code is working for simple xml type to get the response. But when I tried with a complex XML type, I am getting the response, but it does not have the complete output.
Working Sample Code
Here is the code and the calling block which I am using to call. This does not have any input parameters, just one output parameter.
-----------------Start of the procedure----------------------------------------------------------------------
create or replace
PROCEDURE ORACLE_TO_ROADNET_PROC_TEST (p_input IN NUMBER,
l_out_return OUT NUMBER)
AS
l_service UTL_DBWS.service;--TransportationWebService.Service?? what is DB data service?
l_call UTL_DBWS.call;--TransportationWebService.
l_wsdl_url VARCHAR2(32767);
l_namespace VARCHAR2(32767);
l_soap_env VARCHAR2(32767);
l_soap_enc VARCHAR2(32767);
l_instance VARCHAR2(32767);
l_schema VARCHAR2(32767);
l_service_qname UTL_DBWS.qname;
l_port_qname UTL_DBWS.qname;
l_operation_qname UTL_DBWS.qname;
l_xmltype_in SYS.XMLTYPE;
l_xmltype_out SYS.XMLTYPE;
l_xsdoc DBMS_XMLDOM.DOMDocument;
l_dn DBMS_XMLDOM.DOMNode;
l_return NUMBER;
BEGIN
l_wsdl_url := 'http://10.81.8.39:80/TransportationWebService.wsdl';
l_namespace := 'http://www.roadnet.com/RTS/TransportationSuite/TransportationWebService';
l_service_qname := UTL_DBWS.to_qname(l_namespace, 'TransportationWebService');
l_port_qname := UTL_DBWS.to_qname(l_namespace, 'TransportationWebService');
l_operation_qname := UTL_DBWS.to_qname(l_namespace, 'VersionInformation');
l_service := UTL_DBWS.create_service (
wsdl_document_location => URIFACTORY.getURI(l_wsdl_url),
service_name => l_service_qname);
dbms_output.put_line('Created the Web Service');
l_call := UTL_DBWS.create_call (
service_handle => l_service,
port_name => l_port_qname,
operation_name => l_operation_qname);
dbms_output.put_line('Created the Web Service Operation');
--UTL_DBWS.set_target_endpoint_address(l_call, 'http://www.roadnet.com/RTS/TransportationSuite/TransportationWebService/');
UTL_DBWS.set_property(l_call, 'USERNAME', 'SAE');
UTL_DBWS.set_property(l_call, 'PASSWORD', 'CxzMte22');
--UTL_DBWS.set_property(l_call, 'DOMAIN', 'rhea');
UTL_DBWS.set_property(l_call, 'OPERATION_STYLE', 'document');
UTL_DBWS.set_property(l_call, 'SOAPACTION_USE', 'true');
UTL_DBWS.set_property(l_call, 'SOAPACTION_URI', 'http://www.roadnet.com/RTS/TransportationSuite/TransportationWebService/');
l_xmltype_in := SYS.XMLTYPE('<?xml version="1.0" encoding="utf-8"?>
<VersionInformation xmlns="' || l_namespace || '">
<parameters>' || p_input || '</parameters>
</VersionInformation>');
dbms_output.put_line('Prepared the XML String to pass');
l_xmltype_out := UTL_DBWS.invoke(call_Handle => l_call ,
request => l_xmltype_in);
dbms_output.put_line('Invoked the Web Services');
UTL_DBWS.release_call (call_handle => l_call);
UTL_DBWS.release_service (service_handle => l_service);
dbms_output.put_line('Before Reading the XML output data');
l_return := l_xmltype_out.extract(''//ns1:VersionInformationResponse/ns1:version/text()','xmlns:ns1="http://www.roadnet.com/RTS/TransportationSuite/TransportationWebService">').getNumberVal();
--dbms_output.put_line('After Reading the XML output data'||l_xmltype_out);
--dbms_output.put_line('l_return'||l_return);
-- l_out_return := l_return;
--dbms_output.put_line('l_dn '||l_dn);
END ORACLE_TO_ROADNET_PROC_TEST;
-------------------------------End Of Procedure----------------------------------------------------
---Call to Web Service----------------------------------------
declare
x_return NUMBER;
Begin
Oracle_to_RoadNet_proc_test (p_input => 1,
l_out_return => x_return);
dbms_output.put_line( ' x_return'||x_return);
end;
-----------------------------------------------------------------------------Sample Code Which is not giving output
Here is the other one which is not returing the right output. It got 3 input parameters and multiple output parameters, looks like it is not reading the inputs and not able to get the response.
-----------------------Start of the procedure---------------------------------------------
create or replace
PROCEDURE ORACLE_TO_ROADNET_PROC(p_region_id IN NUMBER,
p_location_type NUMBER,
p_location_id NUMBER,
l_out_return OUT varchar2)
AS
l_service UTL_DBWS.service;
l_call UTL_DBWS.call;
l_wsdl_url VARCHAR2(32767);
l_namespace VARCHAR2(32767);
l_soap_env VARCHAR2(32767);
l_soap_enc VARCHAR2(32767);
l_instance VARCHAR2(32767);
l_schema VARCHAR2(32767);
l_service_qname UTL_DBWS.qname;
l_port_qname UTL_DBWS.qname;
l_operation_qname UTL_DBWS.qname;
l_xmltype_in SYS.XMLTYPE;
l_xmltype_out SYS.XMLTYPE;
l_xsdoc DBMS_XMLDOM.DOMDocument;
l_dn DBMS_XMLDOM.DOMNode;
l_locationinfo varchar2(100);
BEGIN
l_wsdl_url := 'http://10.81.8.39:80/TransportationWebService.wsdl';
l_namespace := 'http://www.roadnet.com/RTS/TransportationSuite/TransportationWebService';
l_service_qname := UTL_DBWS.to_qname(l_namespace, 'TransportationWebService');
l_port_qname := UTL_DBWS.to_qname(l_namespace, 'TransportationWebService');
l_operation_qname := UTL_DBWS.to_qname(l_namespace, 'RetrieveLocationByIdentity');
l_service := UTL_DBWS.create_service (
wsdl_document_location => URIFACTORY.getURI(l_wsdl_url),
service_name => l_service_qname);
dbms_output.put_line('Created the Web Service');
l_call := UTL_DBWS.create_call (
service_handle => l_service,
port_name => l_port_qname,
operation_name => l_operation_qname);
dbms_output.put_line('Created the Web Service Operation');
--UTL_DBWS.set_target_endpoint_address(l_call, 'http://www.roadnet.com/RTS/TransportationSuite/TransportationWebService/');
UTL_DBWS.set_property(l_call, 'USERNAME', 'SAE');
UTL_DBWS.set_property(l_call, 'PASSWORD', 'CxzMte22');
--UTL_DBWS.set_property(l_call, 'DOMAIN', 'rhea');
UTL_DBWS.set_property(l_call, 'OPERATION_STYLE', 'document');
UTL_DBWS.set_property(l_call, 'SOAPACTION_USE', 'true');
UTL_DBWS.set_property(l_call, 'SOAPACTION_URI', 'http://www.roadnet.com/RTS/TransportationSuite/TransportationWebService/');
l_xmltype_in := SYS.XMLTYPE('<?xml version="1.0" encoding="utf-8"?>
<RetrieveLocationByIdentity xmlns="' || l_namespace || '">
<identity>
<regionID>' || p_region_id || '</regionID>
<locationType>' || p_location_type || '</locationType>
<locationID>' || p_location_id || '</locationID>
</identity>
</RetrieveLocationByIdentity>');
dbms_output.put_line('Prepared the XML String to pass');
l_xmltype_out := UTL_DBWS.invoke(call_Handle => l_call ,
request => l_xmltype_in);
dbms_output.put_line('Invoked the Web Services');
UTL_DBWS.release_call (call_handle => l_call);
UTL_DBWS.release_service (service_handle => l_service);
dbms_output.put_line('Before Reading the XML output data');
insert into utldbws.EBH_XMLDATA
values
(l_xmltype_out, sysdate);
commit;
select extractvalue(l_xmltype_out,'//ns1:RetrieveLocationByIdentityResponse/ns1:location/ns1:description', 'xmlns:ns1="http://www.roadnet.com/RTS/TransportationSuite/TransportationWebService">' )
into l_locationinfo
from dual;
l_out_return := l_locationinfo;
dbms_output.put_line('l_locationinfo '||l_locationinfo);
END ORACLE_TO_ROADNET_PROC;
----------------------End Of the Procedure-------------------------------------------------------
----------------Calling Block------------------------
DECLARE
p_region_id VARCHAR2(50);
p_location_type VARCHAR2(50);
p_location_id VARCHAR2(50);
L_OUT_RETURN VARCHAR2(100);
BEGIN
ORACLE_TO_ROADNET_PROC(
p_region_id => '310',
p_location_type => '200',
p_location_id => '499022',
L_OUT_RETURN => L_OUT_RETURN
DBMS_OUTPUT.PUT_LINE('L_OUT_RETURN = ' || L_OUT_RETURN);
END;
-----------------------------------------------------------------------------------------------Looks like this is not reading the input parameters and not returning the output but execution is successful. Please go throguh this and let me know, if I am missing anything. If you have worked on similar Web Services, please let me know.
Thanks in advance!
Ravi
Edited by: BluShadow on 16-May-2013 15:19
added {noformat}{noformat} tags for readability. Please read the FAQ: {message:id=9360002} and do this yourself in future posts.1006367 wrote:
I am calling a Web Service(RoadNet Application) from Oracle PL/SQL(11g Database). I would not use UTL_DBWS. I had to do another web service interface recently, had a look at UTL_DBWS, and again decided not to use it. Simply put. It lacks.
I use SOAPUI (OpenSource/free version) to interrogate the web service (read wsdl) and format a sample SOAP envelope to use.
I then use UTL_HTTP and code a HTML POST for that web service, using the SOAPUI generated envelope as template. Supporting WSSE is also not a problem (easily done using PL/SQL).
I posted an example of my approach in {message:id=10448611} almost a year ago - and recent experience having looked at both UTL_DBWS and the plan vanilla PL/SQL HTTP approach, I still recommend the latter. -
Special Character XML Web Service call from Flex
Hi,
Let me first give a little background.
I have to query and return data in XML format. To do so, I have created a custom DSC component. In cases where XML has special characters, LC throws error saying that XML is not properly formed. To over come this issue I used CDATA tag at DSC component. Now LC works as it should and I returns correct result.
I have a web service call from Flex to get this XML result. Every time i trigger this web service I get an error message saying </document> tag is missing.
I understand in Flex, web service returned data is wrapped in CDATA tag, thats what i causing all this issue.
I am not sure, how to handle this situation, I am sure this is a common problem and there should be ways to work around it.
I would really appreciate if any one could point me in the right direction.
Thank you ..The web service has four operations in it, I need pingQuery operation execution code since it doesnot need any input value.
I have used code something like this.. Any one please correct me if I am wrong..
<mx:WebService
<mx:WebService> id="webService" wsdl=""https://hydrogen.csd.sc.edu/axis2/services/AcademicHistoryService?wsdl
>
<mx:operation name="pingQuery"resultFormat="
object"result="resultHandler(event);"
fault="faultHandler(event);"
>
<mx:request>
<PingQuerySpecification>
<value>
fsdf
</value>
</PingQuerySpecification>
</mx:request>
</mx:operation>
</mx:WebService>
private function resultHandler(evt:ResultEvent):void {Alert.show(ObjectUtil.toString(evt.result));
private function faultHandler(evt:FaultEvent):void {Alert.show(evt.message.toString()); -
Connection Reset while making http web service call to remote server
Hello guys,
Our environment details are as follows:
WebLogic version: 10.3.3
Cluster: yes
Database: Oracle
Web service server: Remote application
When our WebLogic server makes a http Web service call to another remote application which runs on IIS server for creating a record. The record gets created in remote application but WebLogic server log says java.net.SocketException: Connection reset and the same record doesn't get created in WebLogic application. We have confirmed that remote application is running and it is behaving as expected. Also, we installed web service client on our WebLogic machine just to isolate any network related issues, when we make a same request through this client it works fine and we get answer. At this point in time, it looks like it could be WebLogic or application which is behaving goofy. we are running out of ideas, it would be nice if someone have any thoughts on it like turning on any flags or any other troubleshooting steps. Please, let me know.
Here is the stack trace:
####<Sep 18, 2011 12:31:40 AM MDT> <Info> <com.blah.blah> <server1> <WLSserver> <[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Defaul
t (self-tuning)'> <user> <BEA1-69D606DA85BDB1A0A7D5> <> <1316327500388> <BEA-000000> <ERROR com.blah.blah - Error during creating a order remoteappja
va.net.SocketException: Connection reset
com.sun.jersey.api.client.ClientHandlerException: java.net.SocketException: Connection reset
at com.sun.jersey.api.client.Client.handle(Client.java:569)
at com.sun.jersey.api.client.WebResource.handle(WebResource.java:556)
at com.sun.jersey.api.client.WebResource.access$200(WebResource.java:69)
at com.sun.jersey.api.client.WebResource$Builder.get(WebResource.java:451)
Caused by: java.net.SocketException: Connection reset
at java.net.SocketInputStream.read(SocketInputStream.java:173)
at java.io.BufferedInputStream.fill(BufferedInputStream.java:218)
at java.io.BufferedInputStream.read(BufferedInputStream.java:237)
at weblogic.net.http.MessageHeader.isHTTP(MessageHeader.java:220)
at weblogic.net.http.MessageHeader.parseHeader(MessageHeader.java:143)
at weblogic.net.http.HttpClient.parseHTTP(HttpClient.java:462)
at weblogic.net.http.HttpURLConnection.getInputStream(HttpURLConnection.java:364)
at weblogic.net.http.SOAPHttpURLConnection.getInputStream(SOAPHttpURLConnection.java:37)
at weblogic.net.http.HttpURLConnection.getResponseCode(HttpURLConnection.java:952)
at com.sun.jersey.client.urlconnection.URLConnectionClientHandler._invoke(URLConnectionClientHandler.java:215)
at com.sun.jersey.client.urlconnection.URLConnectionClientHandler.handle(URLConnectionClientHandler.java:126)
... 58 more
>
thanks a lot for your help in advance
Regards,Here's what the issue was for us:
When the web service was initializing, Weblogic? was trying to retrieve the WSDL first before initializing the service.
Though the web service URL was proper, the WSDL itself was unresolvable. This led to this strange connection reset error.
So, if you're experiencing this consistently, check your WSDL URL.
We used "strace" to discover this problem by running it for a brief time while the web service initialization was attempted - and it very clearly showed that the code was attempting to laod something from a bogus address / IP -
Web service call - works locally but not on mobile?
Hi,
I have a web service call (the service is hosted on the cloud so it's an external, permamnent domain) which works fine when I'm testing it locally using the Flex Buritto built in emulator or directly using my browser.
But when trying from an android phone (tried a few of them - nexus one, nexus s and galaxy tab) the service is being called but never returns anything.
Is there a good way to trace to call / understand the problem?
Thanks,
NirOh. well that would explain alot of it. its not a stupid question we are all learning. You have to put a crossdomain xml in server on the root directory. there are alot of different ways to implement it.
this should point you on the right direction.
http://www.adobe.com/devnet/articles/crossdomain_policy_file_spec.html
here is a very basic format basically allowing anyone to call my service.
<?xml version="1.0"?>
<!DOCTYPE cross-domain-policy
SYSTEM "http://www.macromedia.com/xml/dtds/cross-domain-policy.dtd">
<cross-domain-policy>
<allow-access-from domain="*" />
</cross-domain-policy>
miguel -
Web service call fails - type mismatch
Hi All
I hope someone can help, as I have been struggling with this issue for a few days. If I have missed any useful information off of this post, please ask and I will try to supply.
I am trying to call a web service, but contantly receiving the error:
"{http://springframework.org/spring-ws}ValidationError:cvc-elt.4.3: Type 'xsd:long' is not validly derived from the type definition, 'idField', of element 'documentId'."
An example of the call to the webservice is:
<cfscript>
getDocumentAsPdfRequest = structNew();
getDocumentAsPdfRequest.documentId = 12017988;
getDocumentAsPdfRequest.ignoreUnsupportedConversion = 0;
ws = createObject("webservice", "#wsdldocumenturl#");
ws.setUsername("#wsdlusername#");
ws.setPassword("#wsdlpassword#");
myresult = ws.getDocumentAsPdf(getDocumentAsPdfRequest);
</cfscript>
<cfdump var="#myresult#">
the webservice definition is:
getDocumentAsPdfRequest type getDocumentAsPdfRequest
Returns the document as a pdf if possible
documentId type idField - type long with restriction minInclusive(1000) maxInclusive(9223372036854775807)
Id of the document to be converted to pdf
ignoreUnsupportedConversion type boolean
Specifying true for this will return the original document without converting - if a conversion is not possible
the webservice xml is:
<xs:element name="getDocumentAsPdfRequest">
<xs:annotation>
<xs:documentation>Returns the document as a pdf if possible</xs:documentation></xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="documentId" type="tns:idField">
<xs:annotation>
<xs:documentation>Id of the document to be converted to pdf</xs:documentation></xs:annotation></xs:element>
<xs:element name="ignoreUnsupportedConversion" type="xs:boolean">
<xs:annotation>
<xs:documentation>Specifying true for this will return the original document without converting - if a conversion is not possible</xs:documentation></xs:annotation></xs:element>
</xs:sequence></xs:complexType></xs:element>
I have tried using javacast("long", "12017988"), but the same error is shown
any help or advise gratefully received.
Thanks,
DarrenI forgot to mention that I have verified that this service works from SoapUI, the issue seams to be the way that ColdFusion is handling the documentId element.
If it is helpful the WSDL code is here (note I have only pasted the parts that are relevant to this method):
<xs:element name="getDocumentAsPdfRequest" xmlns:xs="http://www.w3.org/2001/XMLSchema">
- <xs:annotation xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:documentation xmlns:xs="http://www.w3.org/2001/XMLSchema">Returns the document as a pdf if possible</xs:documentation>
</xs:annotation>
- <xs:complexType xmlns:xs="http://www.w3.org/2001/XMLSchema">
- <xs:sequence xmlns:xs="http://www.w3.org/2001/XMLSchema">
- <xs:element name="documentId" type="tns:idField" xmlns:xs="http://www.w3.org/2001/XMLSchema">
- <xs:annotation xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:documentation xmlns:xs="http://www.w3.org/2001/XMLSchema">Id of the document to be converted to pdf</xs:documentation>
</xs:annotation>
</xs:element>
- <xs:element name="ignoreUnsupportedConversion" type="xs:boolean" xmlns:xs="http://www.w3.org/2001/XMLSchema">
- <xs:annotation xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:documentation xmlns:xs="http://www.w3.org/2001/XMLSchema">Specifying true for this will return the original document without converting - if a conversion is not possible</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
And the reponse:
<xs:element name="getDocumentAsPdfResponse" xmlns:xs="http://www.w3.org/2001/XMLSchema">
- <xs:complexType xmlns:xs="http://www.w3.org/2001/XMLSchema">
- <xs:sequence xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="content" type="xs:base64Binary" xmlns:xs="http://www.w3.org/2001/XMLSchema" />
</xs:sequence>
</xs:complexType>
</xs:element>
and the operation element:
<wsdl:operation name="getDocumentAsPdf" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
<soap:operation soapAction="" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" />
- <wsdl:input name="getDocumentAsPdfRequest" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
<soap:body use="literal" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" />
<soap:header message="tns:credentials" part="credentials" use="literal" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" />
</wsdl:input>
- <wsdl:output name="getDocumentAsPdfResponse" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
<soap:body use="literal" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" />
</wsdl:output>
</wsdl:operation>
not sure if that would be helpful, but thought I would post incase.
Does anyone have any ideas as to why that error would be being generated?
Thanks,
Darren
Maybe you are looking for
-
Adobe Bridge CS4 crashes when trying to refresh preview for PDF output
Ever since installing ML, I cannot create contact sheets in Adobe Bridge CS4, which I was able to do before installing ML. As soon as I press "Refresh Preview," Bridge crashes with the following report (the same thing happens if I just try to Save th
-
A small set of features I'd like to suggest.
Ok, having the CS6 beta for just two days, I almost instantly noticed some small stuff which I consider to be a welcomed easement for users if it were to be fixed/included in the final version. I just would like someone to read these and give them so
-
I have a question about the Siri function.
Here in Belgium, we speak Dutch and also French and English. But I think when you use the Siri function it is always easier to use it with your own language ( Dutch). 28th October, the iphone4S will be launched here in Belgium, but only with a Englis
-
Complete Delivery on Billing Due List
Hi All, We have several deliveries which have posted goods issue, and each has had an invoice and intercompany invoice created. The document flow showed the original order and both invoices as complete, but in the delivery header I saw a status of B
-
Where are the movies in the project library saved?
I am trying to find where my movie is saved on my computer. I can locate it only in the Project File, and under "file" there is no option that says "save" or "save as."