Iam trying to connect to the public test registry provided by IBM using JAXR Api, but it throws error while connecting to the Registry
Here the code snippet
import java.util.*;
import java.net.*;
import javax.xml.registry.*;
class RegistryConnection
{
public static void main(String args[])
{
String queryURL = "http://uddi.ibm.com/beta/inquiryapi";
String publishURL = "https://uddi.ibm.com/beta/publishapi";
String username="xxx";
String password="xxxx";
Connection connection = null;
/*
* Define connection configuration properties.
* For simple queries, you need the query URL.
* To use a life-cycle manager, you need the publish URL.
*/
Properties props = new Properties();
props.setProperty("javax.xml.registry.factoryClass","com.sun.xml.registry.uddi.ConnectionFactoryImpl");
props.setProperty("javax.xml.registry.queryManagerURL", queryURL);
props.setProperty("javax.xml.registry.lifeCycleManagerURL", publishURL);
try
{
// Create the connection, passing it the configuration properties
ConnectionFactory factory = ConnectionFactory.newInstance();
factory.setProperties(props);
connection = factory.createConnection();
System.out.println(">> Created connection to registry :"+connection);
// Set client authorization information for privileged registry operations
PasswordAuthentication passwdAuth = new PasswordAuthentication(username, password.toCharArray());
Set creds = new HashSet();
creds.add(passwdAuth);
// Set credentials on the JAXR provider
connection.setCredentials(creds);
System.out.println(">>Established security credentials");
// Get registry service and managers
RegistryService rs = connection.getRegistryService();
System.out.println(">> Registry Service :"+rs);
// Get the capability profile
CapabilityProfile capabilityProfile = rs.getCapabilityProfile();
if (capabilityProfile.getCapabilityLevel() == 0)
System.out.println(">> Capability Level 0, Business Focused API");
// Get manager capabilities from registry service
BusinessQueryManager bqm = rs.getBusinessQueryManager();
BusinessLifeCycleManager blcm = rs.getBusinessLifeCycleManager();
System.out.println(">> Got registry service, query " + "manager, and lifecycle manager");
// Set communication preference
// connection.setSynchronous(true);
}
catch (Exception e)
{
e.printStackTrace();
if (connection != null)
{
try
{
connection.close();
}
catch (JAXRException je) {}
}
}
}
}
Here is the exception
Starting application E:\uddi4j\samples\RegistryConnection.class
Created connection to registry :com.sun.xml.registry.uddi.ConnectionImpl@1eed786
Added SSL_PROVIDER com.sun.net.ssl.internal.ssl.Provider
Aug 1, 2005 9:39:38 AM com.sun.xml.messaging.saaj.client.p2p.HttpSOAPConnection post
SEVERE: SAAJ0009: Message send failed
javax.xml.registry.JAXRException: com.sun.xml.messaging.saaj.SOAPExceptionImpl: java.security.PrivilegedActionException: com.sun.xml.messaging.saaj.SOAPExceptionImpl: Message send failed
at com.sun.xml.registry.uddi.RegistryServiceImpl.jaxmSend(Unknown Source)
at com.sun.xml.registry.uddi.RegistryServiceImpl.send(Unknown Source)
at com.sun.xml.registry.uddi.Processor.processRequestJAXB(Unknown Source)
at com.sun.xml.registry.uddi.UDDIMapper.getAuthorizationToken(Unknown Source)
at com.sun.xml.registry.uddi.ConnectionImpl.setCredentials(Unknown Source)
at RegistryConnection.main(RegistryConnection.java:53)
Caused by: com.sun.xml.messaging.saaj.SOAPExceptionImpl: java.security.PrivilegedActionException: com.sun.xml.messaging.saaj.SOAPExceptionImpl: Message send failed
at com.sun.xml.messaging.saaj.client.p2p.HttpSOAPConnection.call(HttpSOAPConnection.java:127)
... 6 more
Caused by: java.security.PrivilegedActionException: com.sun.xml.messaging.saaj.SOAPExceptionImpl: Message send failed
at java.security.AccessController.doPrivileged(Native Method)
at com.sun.xml.messaging.saaj.client.p2p.HttpSOAPConnection.call(HttpSOAPConnection.java:121)
... 6 more
Caused by: com.sun.xml.messaging.saaj.SOAPExceptionImpl: Message send failed
at com.sun.xml.messaging.saaj.client.p2p.HttpSOAPConnection.post(HttpSOAPConnection.java:305)
at com.sun.xml.messaging.saaj.client.p2p.HttpSOAPConnection$PriviledgedPost.run(HttpSOAPConnection.java:150)
... 8 more
Caused by: java.net.ConnectException: Connection refused: connect
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333)
at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:195)
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:182)
at java.net.Socket.connect(Socket.java:507)
at java.net.Socket.connect(Socket.java:457)
at sun.net.NetworkClient.doConnect(NetworkClient.java:157)
at sun.net.www.http.HttpClient.openServer(HttpClient.java:365)
at sun.net.www.http.HttpClient.openServer(HttpClient.java:477)
at sun.net.www.protocol.https.HttpsClient.<init>(HttpsClient.java:280)
at sun.net.www.protocol.https.HttpsClient.New(HttpsClient.java:337)
at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.getNewHttpClient(AbstractDelegateHttpsURLConnection.java:176)
at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:736)
at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:162)
at sun.net.www.protocol.http.HttpURLConnection.getOutputStream(HttpURLConnection.java:828)
at sun.net.www.protocol.https.HttpsURLConnectionImpl.getOutputStream(HttpsURLConnectionImpl.java:230)
at com.sun.xml.messaging.saaj.client.p2p.HttpSOAPConnection.post(HttpSOAPConnection.java:262)
... 9 more
Interactive Session Ended
Please anybody let me know what could be the error.
The error is at the line
connection.setCredentials(creds)
Iam able to login into the IBM test registry using the user credentials which i used to run this program when i directly tried log in , on the IBM test UDDI registry