[prev in list] [next in list] [prev in thread] [next in thread] 

List:       uddi4j-general
Subject:    [Uddi4j-general] java.lang.reflect.InvocationTargetException
From:       "weng daiyue" <daiyueweng () hotmail ! com>
Date:       2006-10-03 11:55:59
Message-ID: BAY109-F21D15CC6E78F1DBAA70219D11C0 () phx ! gbl
[Download RAW message or body]

I am using tomcat to deploy a business registry service, and I use APIs 
provided by uddi4j to interact with UDDI, and I encounter the following 
problem: 

AxisFault
 faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.userException
 faultSubcode:
 faultString: java.lang.reflect.InvocationTargetException
 faultActor:
 faultNode:
 faultDetail:
        {http://xml.apache.org/axis/}hostname:csesci04

java.lang.reflect.InvocationTargetException
        at 
org.apache.axis.message.SOAPFaultBuilder.createFault(SOAPFaultBuilder.java:221)

        at 
org.apache.axis.message.SOAPFaultBuilder.endElement(SOAPFaultBuilder.java:128)

        at 
org.apache.axis.encoding.DeserializationContext.endElement(DeserializationContext.java:1087)


        at org.apache.xerces.parsers.AbstractSAXParser.endElement(Unknown 
Source)
        at 
org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanEndElement(Unknown 
Source)
        at 
org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown \
 Source)
        at 
org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown 
Source)
        at org.apache.xerces.parsers.XML11Configuration.parse(Unknown 
Source)
        at org.apache.xerces.parsers.XML11Configuration.parse(Unknown 
Source)
        at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
        at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown 
Source)
        at javax.xml.parsers.SAXParser.parse(SAXParser.java:375)
        at 
org.apache.axis.encoding.DeserializationContext.parse(DeserializationContext.java:227)


        at org.apache.axis.SOAPPart.getAsSOAPEnvelope(SOAPPart.java:645)
        at org.apache.axis.Message.getSOAPEnvelope(Message.java:424)
        at 
org.apache.axis.message.addressing.handler.AddressingHandler.processClientResponse(AddressingHandler.java:305)


        at 
org.apache.axis.message.addressing.handler.AddressingHandler.invoke(AddressingHandler.java:110)


        at 
org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:32)

        at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)
        at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83)
        at org.apache.axis.client.AxisClient.invoke(AxisClient.java:190)
        at org.apache.axis.client.Call.invokeEngine(Call.java:2727)
        at org.apache.axis.client.Call.invoke(Call.java:2710)
        at org.apache.axis.client.Call.invoke(Call.java:2386)
        at org.apache.axis.client.Call.invoke(Call.java:2309)
        at org.apache.axis.client.Call.invoke(Call.java:1766)
        at 
uk.ac.besc.DataCentre.security.SecureOperation.Call(SecureOperation.java:238)

        at uk.ac.besc.DataCentre.client.Client.main(Client.java:79)

and the following is my service code:

package uk.ac.besc.DataCentre.impl;

import java.util.Properties;
import java.util.Vector;

import uk.ac.besc.DataCentre.dataCentrePara.DataCentreParm;

import org.uddi4j.UDDIException;
import org.uddi4j.client.UDDIProxy;
import org.uddi4j.datatype.Name;
import org.uddi4j.datatype.business.BusinessEntity;
import org.uddi4j.response.AuthToken;
import org.uddi4j.response.BusinessDetail;
import org.uddi4j.response.BusinessInfo;
import org.uddi4j.response.BusinessList;
import org.uddi4j.response.DispositionReport;
import org.uddi4j.response.Result;
import org.uddi4j.util.FindQualifier;
import org.uddi4j.util.FindQualifiers;

/**
 * Sample code that exercises the publish API. Attempts
 * to save a businessEntity.
 *
 * <OL>
 * <LI>Sets up a UDDIProxy object
 * <LI>Requests an authorization token
 * <LI>Saves a businessEntity
 * <LI>Lists businesses starting with the the first letter of the
 *     business's name. The new business should be in the list.
 * </OL>
 *
 * @author David Melgar (dmelgar@us.ibm.com)
 * @author Rajesh Sumra (rajesh_sumra@hp.com)
 */

public class DataCentre
{
  private UDDIProxy proxy;
  private BusinessEntity returnedBusinessEntity;
     // Properties config = null;

      /*public static void main (String args[])
	{
		SaveBusinessExample app = new SaveBusinessExample();
		System.out.println("\n*********** Running DataCentre ***********");
		app.run();
		System.exit(0);
	}*/

      // Construct a UDDIProxy object & a BusinessEntity object
        public DataCentre()
        {
          proxy = new UDDIProxy();
          returnedBusinessEntity = new BusinessEntity();
        }

	public String run(DataCentreParm business)
	{
		// Load samples configuration
             // config = Configurator.load();

		try
		{
                        System.setProperty("org.uddi4j.logEnabled", 
"true");
                        System.setProperty("org.uddi4j.TransportClassName", 
"org.uddi4j.transport.ApacheAxisTransport");
			// Select the desired UDDI server node
			proxy.setInquiryURL("http://localhost:8080/juddi/inquire");
			proxy.setPublishURL("http://localhost:8080/juddi/publish");

			// Client's authorization token
			System.out.println("\nAuthtoken from client: " + 
business.getAuthToken());

			// Pass in userid and password registered at the UDDI site
                        //AuthToken token = proxy.get_authToken("juddi", 
"juddi");
                        //System.out.println("Returned authToken:" + 
token.getAuthInfoString());

                        System.out.println("\nSave '" + 
business.getBusinessName() + "'");

			// Create minimum required data objects
			Vector entities = new Vector();

			// Create a new business entity using required elements constructor
			// Name is the business name. BusinessKey must be "" to save a new
			// business
			BusinessEntity be = new BusinessEntity("", business.getBusinessName());
			entities.addElement(be);

			// Save business
                        System.out.println("Saving Business Entity...");
			BusinessDetail bd = 
proxy.save_business(business.getAuthToken(),entities);
                        System.out.println("Business Entity Saved");

                        // Process returned BusinessDetail object
			Vector businessEntities = bd.getBusinessEntityVector();
			returnedBusinessEntity = 
(BusinessEntity)(businessEntities.elementAt(0));
			System.out.println("The businessKey with the registered Business is: " + 
returnedBusinessEntity.getBusinessKey());


			// Find all businesses that start with that particular letter e.g. 'S' 
for 'Sample Business'.
                      /*
                        String businessNameLeadingSubstring = 
(config.getProperty("businessName")).substring (0,1);
			System.out.println("\nListing businesses starting with " + 
businessNameLeadingSubstring + " after we publish");

			// creating vector of Name Object
			Vector names = new Vector();
			names.add(new Name(businessNameLeadingSubstring));

			// Setting FindQualifiers to 'caseSensitiveMatch'
			FindQualifiers findQualifiers = new FindQualifiers();
			Vector qualifier = new Vector();
			qualifier.add(new FindQualifier("caseSensitiveMatch"));
			findQualifiers.setFindQualifierVector(qualifier);

			// Find businesses by name
			// And setting the maximum rows to be returned as 5.
			BusinessList businessList = proxy.find_business(names, null, null, 
null,null,findQualifiers,5);

			Vector businessInfoVector  = 
businessList.getBusinessInfos().getBusinessInfoVector();
			for( int i = 0; i < businessInfoVector.size(); i++ )
			{
				BusinessInfo businessInfo = 
(BusinessInfo)businessInfoVector.elementAt(i);
				System.out.println(businessInfo.getDefaultNameString());
			}
                     */
		}
		// Handle possible errors
		catch(UDDIException e)
		{
                  System.out.println("Thrown UDDI Exceptions: ");
                  e.printStackTrace();
                  //return "error"+e;
		}
		// Catch any other exception that may occur
		catch(Exception e)
		{
                  System.out.println("The Other Exceptions:");
                  e.printStackTrace();
                  //return "error"+e;
		}

                 return returnedBusinessEntity.getBusinessKey();
        }
}


I think the problem probably exists in proxy.save_business() method, and I 
don't know how to solve it, so does anyone know how to resolve my problem? 
This exception has annoyed me for days, thanks advance.

daiyue

_________________________________________________________________
与联机的朋友进行交流,请使用 Live Messenger; 
http://get.live.com/messenger/overview 



-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys -- and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV

_______________________________________________
Uddi4j-general mailing list
Uddi4j-general@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/uddi4j-general


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic