• Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Jeanne Boyarsky
  • Ron McLeod
  • Paul Clapham
  • Liutauras Vilda
Sheriffs:
  • paul wheaton
  • Rob Spoor
  • Devaka Cooray
Saloon Keepers:
  • Stephan van Hulst
  • Tim Holloway
  • Carey Brown
  • Frits Walraven
  • Tim Moores
Bartenders:
  • Mikalai Zaikin

unable to run JAXR examples of JWSDP

 
Greenhorn
Posts: 2
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
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
 
Ranch Hand
Posts: 66
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Hi Saania,
Could you please explain this further and if possible give me the source code ..

Ravi..
 
saania shah
Greenhorn
Posts: 2
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
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??
 
Consider Paul's rocket mass heater.
reply
    Bookmark Topic Watch Topic
  • New Topic