here is the java source
CREATE OR REPLACE and resolve JAVA SOURCE NAMED "Western" AS
import java.io.*;
import java.sql.*;
import java.net.URL;
import java.security.KeyStore;
import java.security.KeyStore.SecretKeyEntry;
import javax.crypto.SecretKey;
import javax.net.ssl.HostnameVerifier;
import javax.net.ssl.HttpsURLConnection;
import javax.net.ssl.SSLSession;
public class Western{
public static void west(String[] body,String[] result, String[] response){
String s=body[0];
String lenn = Integer.toString(s.length());
result[0]="ok";
System.setProperty("java.net.preferIPv4Stack" , "true");
System.setProperty("javax.net.debug", "all");
try {
String keyPath = "C:\\me\\pi-client-keystore.jks";
String keyPass = "BAS$!@S87";
String keyType = "JKS";
System.setProperty("javax.net.ssl.keyStore", keyPath);
System.setProperty("javax.net.ssl.keyStorePassword", keyPass);
System.setProperty("javax.net.ssl.keyStoreType", keyType);
URL url = new URL("
https://wugateway2pi.westernunion.net" );
HttpsURLConnection con = (HttpsURLConnection) url.openConnection();
con.setRequestMethod("POST");
con.setDoOutput( true );
con.setRequestProperty( "Content-Type", "text/xml" );
con.setHostnameVerifier(new HostnameVerifier()
{
public boolean verify(String hostname, SSLSession session)
{
return true;
}
});
con.connect();
OutputStreamWriter writer = new OutputStreamWriter(con.getOutputStream());
writer.write(s);
writer.flush();
writer.close();
BufferedReader in = new BufferedReader(new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer buff = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
buff.append(inputLine);
}
response[0]=buff.toString();
con.disconnect();
}
catch(Exception ex)
{
StringWriter sw = new StringWriter();
PrintWriter pw = new PrintWriter(sw);
ex.printStackTrace(pw);
result[0]=sw.toString();
}
} }
/
the oracle procedure:
CREATE OR REPLACE procedure west (body IN out VARCHAR2,result in OUT VARCHAR2,resp in OUT VARCHAR2)
AS LANGUAGE JAVA
NAME 'Western.west(java.lang.String[],java.lang.String[],java.lang.String[])';
the error I get:
java.net.SocketException: connect failed, 10022
An invalid argument was
supplied.
at java.net.DualStackPlainSocketImpl.connect0(Native Method)
at
java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:79
)
at
java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350)
a
t
java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:2
06)
at
java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188)
at
java.net.PlainSocketImpl.connect(PlainSocketImpl.java:255)
at
java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
at
java.net.Socket.connect(Socket.java:589)
at
sun.security.ssl.SSLSocketImpl.connect(SSLSocketImpl.java:666)
at
sun.security.ssl.BaseSSLSocketImpl.connect(BaseSSLSocketImpl.java:173)
at
sun.net.NetworkClient.doConnect(NetworkClient.java:180)
at
sun.net.www.http.HttpClient.openServer(HttpClient.java:463)
at
sun.net.www.http.HttpClient.openServer(HttpClient.java:558)
at
sun.net.www.protocol.https.HttpsClient.<init>(HttpsClient.java:264)
at
sun.net.www.protocol.https.HttpsClient.New(HttpsClient.java:367)
at
sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.getNewHttpClient(A
bstractDelegateHttpsURLConnection.java:191)
at
sun.net.www.protocol.http.HttpURLConnection.plainConnect0(HttpURLConnection.java
:1156)
at
sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:
1050)
at
sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDe
legateHttpsURLConnection.java:177)
at
sun.net.www.protocol.https.HttpsURLConnectionImpl.connect(HttpsURLConnectionImpl
.java:162)
at Western.west(Western:36)