Hi.
I had published a service in 'usr/local/tomcat-juddi-3.1.3/webapps/ws/'. But
registing service failed. The error function is 'getUDDISecurityService()'. The
screen showed 'Failed to create service'. Is it because config file error, or
reading config file failed?
Error Information is??
log4j:WARN No appenders could be found for logger
(org.apache.commons.configuration.ConfigurationUtils).
log4j:WARN Please initialize the log4j system properly.
org.apache.juddi.v3.client.transport.TransportException:
org.apache.cxf.service.factory.ServiceConstructionException: Failed to create
service.
at
org.apache.juddi.v3.client.transport.JAXWSTransport.getUDDISecurityService(JAXWSTransport.java:101)
at
org.apache.juddi.v3.client.transport.Transport.getUDDISecurityService(Transport.java:43)
at com.publish.Publish.publish(Publish.java:51)
at com.publish.Publish.main(Publish.java:162)
Caused by: javax.xml.ws.WebServiceException:
org.apache.cxf.service.factory.ServiceConstructionException: Failed to create
service.
at org.apache.cxf.jaxws.ServiceImpl.<init>(ServiceImpl.java:152)
at
org.apache.cxf.jaxws.spi.ProviderImpl.createServiceDelegate(ProviderImpl.java:90)
at javax.xml.ws.Service.<init>(Service.java:56)
at org.apache.juddi.v3.client.UDDIService.<init>(UDDIService.java:66)
at
org.apache.juddi.v3.client.transport.JAXWSTransport.getUDDISecurityService(JAXWSTransport.java:95)
... 3 more
Caused by: org.apache.cxf.service.factory.ServiceConstructionException: Failed
to create service.
at
org.apache.cxf.wsdl11.WSDLServiceFactory.<init>(WSDLServiceFactory.java:93)
at org.apache.cxf.jaxws.ServiceImpl.initializePorts(ServiceImpl.java:207)
at org.apache.cxf.jaxws.ServiceImpl.<init>(ServiceImpl.java:150)
... 7 more
Caused by: javax.wsdl.WSDLException: WSDLException (at
/definitions/import[1]/definitions/import/definitions/types/xsd:schema/xsd:schema):
faultCode=PARSER_ERROR: Problem parsing
'jar:file:/usr/local/tomcat-juddi-3.1.3/webapps/juddiv3/WEB-INF/lib/uddi-ws-3.1.3.jar!/www.w3.org/TR/xmldsig-core/xmldsig-core-schema.xsd'.:
java.net.UnknownHostException: www.w3.org
at com.ibm.wsdl.xml.WSDLReaderImpl.getDocument(Unknown Source)
at com.ibm.wsdl.xml.WSDLReaderImpl.parseSchema(Unknown Source)
at com.ibm.wsdl.xml.WSDLReaderImpl.parseSchema(Unknown Source)
at com.ibm.wsdl.xml.WSDLReaderImpl.parseSchema(Unknown Source)
at com.ibm.wsdl.xml.WSDLReaderImpl.parseTypes(Unknown Source)
at com.ibm.wsdl.xml.WSDLReaderImpl.parseDefinitions(Unknown Source)
at com.ibm.wsdl.xml.WSDLReaderImpl.readWSDL(Unknown Source)
at com.ibm.wsdl.xml.WSDLReaderImpl.parseImport(Unknown Source)
at com.ibm.wsdl.xml.WSDLReaderImpl.parseDefinitions(Unknown Source)
at com.ibm.wsdl.xml.WSDLReaderImpl.readWSDL(Unknown Source)
at com.ibm.wsdl.xml.WSDLReaderImpl.parseImport(Unknown Source)
at com.ibm.wsdl.xml.WSDLReaderImpl.parseDefinitions(Unknown Source)
at com.ibm.wsdl.xml.WSDLReaderImpl.readWSDL(Unknown Source)
at com.ibm.wsdl.xml.WSDLReaderImpl.readWSDL(Unknown Source)
at
org.apache.cxf.wsdl11.WSDLManagerImpl.loadDefinition(WSDLManagerImpl.java:237)
at
org.apache.cxf.wsdl11.WSDLManagerImpl.getDefinition(WSDLManagerImpl.java:186)
at
org.apache.cxf.wsdl11.WSDLServiceFactory.<init>(WSDLServiceFactory.java:91)
... 9 more
Caused by: java.net.UnknownHostException: www.w3.org
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:195)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366)
at java.net.Socket.connect(Socket.java:529)
at java.net.Socket.connect(Socket.java:478)
at sun.net.NetworkClient.doConnect(NetworkClient.java:163)
at sun.net.www.http.HttpClient.openServer(HttpClient.java:411)
at sun.net.www.http.HttpClient.openServer(HttpClient.java:525)
at sun.net.www.http.HttpClient.<init>(HttpClient.java:208)
at sun.net.www.http.HttpClient.New(HttpClient.java:291)
at sun.net.www.http.HttpClient.New(HttpClient.java:310)
at
sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:987)
at
sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:923)
at
sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:841)
at
sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1195)
at
com.sun.org.apache.xerces.internal.impl.XMLEntityManager.setupCurrentEntity(XMLEntityManager.java:675)
at
com.sun.org.apache.xerces.internal.impl.XMLEntityManager.startEntity(XMLEntityManager.java:1313)
at
com.sun.org.apache.xerces.internal.impl.XMLEntityManager.startDTDEntity(XMLEntityManager.java:1280)
at
com.sun.org.apache.xerces.internal.impl.XMLDTDScannerImpl.setInputSource(XMLDTDScannerImpl.java:283)
at
com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$DTDDriver.dispatch(XMLDocumentScannerImpl.java:1191)
at
com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$DTDDriver.next(XMLDocumentScannerImpl.java:1087)
at
com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$PrologDriver.next(XMLDocumentScannerImpl.java:976)
at
com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:647)
at
com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:140)
at
com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:511)
at
com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:808)
at
com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:737)
at
com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:119)
at
com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(DOMParser.java:232)
at
com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse(DocumentBuilderImpl.java:284)
... 26 more
Exception in thread "main" junit.framework.AssertionFailedError: Could not
obtain authInfo token.
at junit.framework.Assert.fail(Assert.java:47)
at com.publish.Publish.publish(Publish.java:151)
at com.publish.Publish.main(Publish.java:162)
Source code is??
public void publish(String businessname,String bdescription,String wsdladdress)
throws IOException
{
String clazz;
String authinfo;
String information = null;
try
{
UDDIClerkManager clerkManager = new
UDDIClerkManager("/usr/local/tomcat-juddi-3.1.3/webapps/ws/WEB-INF/classes/META-INF/uddi.xml");
clerkManager.start();
clazz =
clerkManager.getClientConfig().getUDDINode("default").getProxyTransport();
Class<?> transportClass = Class.forName(clazz, true,
Thread.currentThread().getContextClassLoader());
if(transportClass!=null)
{
Transport transport = (Transport)transportClass.newInstance();
UDDISecurityPortType securityService =
transport.getUDDISecurityService();
GetAuthToken getauthToken = new GetAuthToken();
getauthToken.setUserID("root");
getauthToken.setCred("root");
AuthToken authtoken =
securityService.getAuthToken(getauthToken);
authinfo = authtoken.getAuthInfo();
System.out.println("????AuthToken");
System.out.println(authinfo);
UDDIPublicationPortType publication =
transport.getUDDIPublishService();
}
}
}
Config File is??
<?xml version="1.0" encoding="ISO-8859-1" ?>
<uddi>
<reloadDelay>5000</reloadDelay>
<manager name="test-ww-manager">
<nodes>
<node isHomeJUDDI="true">
<!-- required 'default' node -->
<name>default</name>
<description>Main jUDDI node</description>
<properties>
<property name="serverName" value="localhost" />
<property name="serverPort" value="8080" />
</properties>
<!-- JAX-WS Transport -->
<proxyTransport>org.apache.juddi.v3.client.transport.JAXWSTransport</proxyTransport>
<custodyTransferUrl>http://${serverName}:${serverPort}/juddiv3/services/custody-transfer?wsdl</custodyTransferUrl>
<inquiryUrl>http://${serverName}:${serverPort}/juddiv3/services/inquiry?wsdl</inquiryUrl>
<publishUrl>http://${serverName}:${serverPort}/juddiv3/services/publish?wsdl</publishUrl>
<securityUrl>http://${serverName}:${serverPort}/juddiv3/services/security?wsdl</securityUrl>
<subscriptionUrl>http://${serverName}:${serverPort}/juddiv3/services/subscription?wsdl</subscriptionUrl>
<subscriptionListenerUrl>http://${serverName}:${serverPort}/juddiv3/services/subscription-listener?wsdl</subscriptionListenerUrl>
<juddiApiUrl>http://${serverName}:${serverPort}/juddiv3/services/juddi-api?wsdl</juddiApiUrl>
<clerks registerOnStartup="false">
<clerk name="default" node="default" publisher="root" password="root"/>
<clerk name="medroot" node="med" publisher="root" password="root"/>
<xregister>
<service
bindingKey="uddi:juddi.apache.org:servicebindings-subscriptionlistener-ws"
fromClerk="default" toClerk="medroot"/>
</xregister>
<subscription subscriptionKey=" " clerk="medroot" />
</clerks>
</manager>
</uddi>
Do you know why? Thanks!