GeeCON Prague 2014*
The moose likes Web Services and the fly likes unable to run JAXR examples of JWSDP Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


JavaRanch » Java Forums » Java » Web Services
Bookmark "unable to run JAXR examples of JWSDP" Watch "unable to run JAXR examples of JWSDP" New topic
Author

unable to run JAXR examples of JWSDP

saania shah
Greenhorn

Joined: May 12, 2005
Posts: 2
Hi,

Can any one plz help me, when i run JAXRPublish.java i encounter the following exception,

Created connection to registry
Got registry service, query manager, and life cycle manager
got registry authorizations
javax.xml.registry.JAXRException: java.lang.UnsupportedOperationException
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.processRequest(Unknown Source)
at com.sun.xml.registry.uddi.UDDIMapper.getAuthorizationToken(Unknown Source)
at com.sun.xml.registry.uddi.ConnectionImpl.setCredentials(Unknown Source)
at JAXRPublish.executePublish(JAXRPublish.java:191)
at JAXRPublish.main(JAXRPublish.java:70)
Caused by: java.lang.UnsupportedOperationException
at com.sun.xml.messaging.saaj.soap.MessageFactoryImpl.createMessage(MessageFactoryImpl.java:52)


Everything was working fine but since March the program has started giving this Exception that i am unable to resolve..it is thrown when the program tries to set the credentials at Registry Service.


Saania Shah
R K Parulekar
Ranch Hand

Joined: May 29, 2005
Posts: 66
Hi Saania,
Could you please explain this further and if possible give me the source code ..

Ravi..


"A wish changes nothing. A decision changes everything." - Unknown
saania shah
Greenhorn

Joined: May 12, 2005
Posts: 2
Actually i am trying to run the JAXR Examples provided by JWSDP, teh source code looks like this

import javax.xml.namespace.*;

import javax.activation.*;

import javax.xml.registry.*;
import javax.xml.registry.infomodel.*;
import javax.xml.registry.ConnectionFactory.*;

import java.net.*;
import java.security.*;
import java.util.*;

/**
* The JAXRPublish class consists of a main method, a
* makeConnection method, and an executePublish method.
* It creates an organization and publishes it to a registry.
*/
public class JAXRPublish {
Connection connection = null;

public JAXRPublish() {}

public static void main(String[] args) {
ResourceBundle bundle =
ResourceBundle.getBundle("JAXRExamples");

String queryURL = bundle.getString("query.url");
String publishURL = bundle.getString("publish.url");
System.out.println("works for the first step");
// Edit to provide your own username and password
// Defaults for Registry Server are testuser/testuser
String username = bundle.getString("registry.username");
String password = bundle.getString("registry.password");
System.out.println("works for the 2nd step");

JAXRPublish jp = new JAXRPublish();

jp.makeConnection(queryURL, publishURL);

jp.executePublish(username, password);


}

/**
* Establishes a connection to a registry.
*
* @param queryUrlthe URL of the query registry
* @param publishUrlthe URL of the publish registry
*/
public void makeConnection(String queryUrl,
String publishUrl) {

/*
* Specify proxy information in case you
* are going beyond your firewall.
*/


ResourceBundle bundle =
ResourceBundle.getBundle("JAXRExamples");
String httpProxyHost = bundle.getString("http.proxyHost");
String httpProxyPort = bundle.getString("http.proxyPort");
String httpsProxyHost = bundle.getString("https.proxyHost");
String httpsProxyPort = bundle.getString("https.proxyPort");


/*
* Define connection configuration properties.
* To publish, you need both the query URL and the
* publish URL.
*/

Properties props = new Properties();
props.setProperty("javax.xml.registry.queryManagerURL",
queryUrl);
props.setProperty("javax.xml.registry.lifeCycleManagerURL",
publishUrl);
props.setProperty("com.sun.xml.registry.http.proxyHost",
httpProxyHost);
props.setProperty("com.sun.xml.registry.http.proxyPort",
httpProxyPort);
props.setProperty("com.sun.xml.registry.https.proxyHost",
httpsProxyHost);
props.setProperty("com.sun.xml.registry.https.proxyPort",
httpsProxyPort);

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");
} catch (Exception e) {
e.printStackTrace();
if (connection != null) {
try {
connection.close();
} catch (JAXRException je) {}
}
}
}

/**
* Creates an organization, its classification, and its
* services, and saves it to the registry.
*
* @param username the username for the registry
* @param password the password for the registry
*/
public void executePublish(String username,
String password) {

RegistryService rs = null;
BusinessLifeCycleManager blcm = null;
BusinessQueryManager bqm = null;

try {
rs = connection.getRegistryService();
blcm = rs.getBusinessLifeCycleManager();
bqm = rs.getBusinessQueryManager();
System.out.println("Got registry service, query " +
"manager, and life cycle manager");
// Get authorization from the registry

PasswordAuthentication passwdAuth =
new PasswordAuthentication(username,
password.toCharArray());
System.out.println("got registry authorizations");
//System.setProperty("javax.xml.soap.MessageFactory",
//"com.sun.xml.messaging.saaj.soap.ver1_1.SOAPMessageFactory1_1Impl");


Set creds = new HashSet();
creds.add(passwdAuth);
connection.setCredentials(creds);
System.out.println("Established security credentials");

ResourceBundle bundle =
ResourceBundle.getBundle("JAXRExamples");

// Create organization name and description
Organization org =
blcm.createOrganization(bundle.getString("org.name"));
InternationalString s =
blcm.createInternationalString(bundle.getString("org.description"));
org.setDescription(s);

// Add organization and submit to registry
// Retrieve key if successful
Collection orgs = new ArrayList();
orgs.add(org);
BulkResponse response = blcm.saveOrganizations(orgs);
Collection exceptions = response.getExceptions();
if (exceptions == null) {
System.out.println("Organization saved");

Collection keys = response.getCollection();
Iterator keyIter = keys.iterator();
if (keyIter.hasNext()) {
javax.xml.registry.infomodel.Key orgKey =
(javax.xml.registry.infomodel.Key) keyIter.next();
String id = orgKey.getId();
System.out.println("Organization key is " + id);
}
} else {
Iterator excIter = exceptions.iterator();
Exception exception = null;
while (excIter.hasNext()) {
exception = (Exception) excIter.next();
System.err.println("Exception on save: " +
exception.toString());
}
}
} catch (Exception e) {
e.printStackTrace();
} finally {
// At end, close connection to registry
if (connection != null) {
try {
connection.close();
} catch (JAXRException je) {}
}
}
}
}

the program was successfully publishing organization in IBM uddi registry until i switched my computer to windows XP..after that the code would'nt work on any system..i have tried switching my computer back to windows 2000 but to no avail.. the program is still throwing the exception on the statement connection.setCredentials(cred);
Seems like the environment of my computer has changed but what can i do to make these codes run??
 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: unable to run JAXR examples of JWSDP