Hi Jackey,
Since this exception get thrown from servicemix, so it's more sevicemix
related question, would you please post this thread on servicemix
mailing list, I'd like to answer you there. :-)
Regards
Freeman
Jackey Ding wrote:
Hi Freeman,
I got another problem when I use servicemix-cxf-bc to access the
webservice which I exposed above.
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
The error is show as below
[INFO]
------------------------------------------------------------------------
[ERROR] BUILD ERROR
[INFO]
------------------------------------------------------------------------
[INFO] Unable to deploy project, Error accessing ServiceMix administration
<?xml version="1.0" encoding="UTF-8"?>
<jbi-task xmlns="http://java.sun.com/xml/ns/jbi/management-message"
version="1.0">
<jbi-task-result>
<frmwk-task-result>
<frmwk-task-result-details>
<task-result-details>
<task-id>deploy</task-id>
<task-result>FAILED</task-result>
<message-type>ERROR</message-type>
</task-result-details>
</frmwk-task-result-details>
</frmwk-task-result>
<component-task-result>
<component-name>servicemix-cxf-bc</component-name>
<component-task-result-details>
<task-result-details>
<task-id>deploy</task-id>
<task-result>FAILED</task-result>
<message-type>ERROR</message-type>
<task-status-msg>
<msg-loc-info>
<loc-token/>
<loc-message>Unable to parse result string</loc-message>
</msg-loc-info>
</task-status-msg>
<exception-info>
<nesting-level>1</nesting-level>
<loc-token/>
<loc-message>org.apache.cxf.service.factory.ServiceConstructionException:
Could not find definition for service helloWorld.</loc-message>
<stack-trace><![CDATA[javax.jbi.management.DeploymentException:
org.apache.cxf.service.factory.ServiceConstructionException: Could not find
definition for service helloWorld.
at
org.apache.servicemix.cxfbc.CxfBcProvider.validate(CxfBcProvider.java:266)
at
org.apache.servicemix.common.AbstractDeployer.validate(AbstractDeployer.java:58)
at
org.apache.servicemix.common.xbean.BaseXBeanDeployer.validate(BaseXBeanDeployer.java:55)
at
org.apache.servicemix.common.xbean.AbstractXBeanDeployer.deploy(AbstractXBeanDeployer.java:96)
at
org.apache.servicemix.common.BaseServiceUnitManager.doDeploy(BaseServiceUnitManager.java:88)
at
org.apache.servicemix.common.BaseServiceUnitManager.deploy(BaseServiceUnitManager.java:69)
at
org.apache.servicemix.jbi.framework.DeploymentService.deployServiceAssembly(DeploymentService.java:508)
at
org.apache.servicemix.jbi.framework.AutoDeploymentService.updateServiceAssembly(AutoDeploymentService.java:350)
at
org.apache.servicemix.jbi.framework.AutoDeploymentService.updateArchive(AutoDeploymentService.java:253)
at
org.apache.servicemix.jbi.framework.AutoDeploymentService.updateExternalArchive(AutoDeploymentService.java:201)
at
org.apache.servicemix.jbi.container.JBIContainer.updateExternalArchive(JBIContainer.java:476)
at
org.apache.servicemix.jbi.container.JBIContainer.updateExternalArchive(JBIContainer.java:486)
at
org.apache.servicemix.jbi.framework.AdminCommandsService.deployServiceAssembly(AdminCommandsService.java:209)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at
org.apache.commons.beanutils.MethodUtils.invokeMethod(MethodUtils.java:216)
at
org.apache.servicemix.jbi.management.BaseStandardMBean.invoke(BaseStandardMBean.java:323)
at
com.sun.jmx.mbeanserver.DynamicMetaDataImpl.invoke(DynamicMetaDataImpl.java:213)
at
com.sun.jmx.mbeanserver.MetaDataImpl.invoke(MetaDataImpl.java:220)
at
com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:815)
at
com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:784)
at
javax.management.remote.rmi.RMIConnectionImpl.doOperation(RMIConnectionImpl.java:1410)
at
javax.management.remote.rmi.RMIConnectionImpl.access$100(RMIConnectionImpl.java:81)
at
javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run(RMIConnectionImpl.java:1247)
at java.security.AccessController.doPrivileged(Native Method)
at
javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(RMIConnectionImpl.java:1350)
at
javax.management.remote.rmi.RMIConnectionImpl.invoke(RMIConnectionImpl.java:784)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at
sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:294)
at sun.rmi.transport.Transport$1.run(Transport.java:153)
at java.security.AccessController.doPrivileged(Native Method)
at sun.rmi.transport.Transport.serviceCall(Transport.java:149)
at
sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:466)
at
sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:707)
at java.lang.Thread.run(Thread.java:595)
Caused by: org.apache.cxf.service.factory.ServiceConstructionException:
Could not find definition for service helloWorld.
at
org.apache.cxf.wsdl11.WSDLServiceFactory.create(WSDLServiceFactory.java:114)
at
org.apache.servicemix.cxfbc.CxfBcProvider.validate(CxfBcProvider.java:225)
... 39 more
]]></stack-trace>
</exception-info>
</task-result-details>
</component-task-result-details>
</component-task-result>
</jbi-task-result>
</jbi-task>
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
and my xbean.xml is
<beans xmlns:cxfbc="http://servicemix.apache.org/cxfbc/1.0">
<cxfbc:provider wsdl="classpath:P2Pprovider.wsdl"
locationURI=http://localhost:8080/your-war-name/services
service="HelloWorld"
endpoint="sayHi"
/>
</beans>
Jackey
在08-4-16,Jackey Ding <[EMAIL PROTECTED]> 写道:
Freeman, Knutson
Thanks for your reply, it works when I try *
http://localhost:8080/your-war-name/services/HelloWorld?wsdl*
Thanks & best regards
Jackey
在08-4-16,Mick Knutson <[EMAIL PROTECTED]> 写道:
Just try http://localhost:8080/your-war-name/services/
You should get a list of all services deployed.
2008/4/15 Freeman Fang <[EMAIL PROTECTED]>:
Hi,
Which url you are using to access the the service?
It should be http://localhost:8080/your-war-name/services/HelloWorld
according to your configuration.
And use http://localhost:8080/your-war-name/services/HelloWorld?wsdlto
access the wsdl
I assume your tomcat server use 8080 port.
Regards
Freeman
Jackey Ding wrote:
Hi,
I success deploy a webservice into tomcat, but I can't find the
right
url to
access it. here is my configuration
------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Web.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web
Application
2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
<display-name>cxf</display-name>
<description>cxf</description>
<servlet>
<servlet-name>CXFServlet</servlet-name>
<display-name>CXF Servlet</display-name>
<description>Apache CXF Endpoint</description>
<servlet-class>org.apache.cxf.transport.servlet.CXFServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>CXFServlet</servlet-name>
<url-pattern>/services/*</url-pattern>
</servlet-mapping>
<session-config>
<session-timeout>60</session-timeout>
</session-config>
</web-app>
------------------------------------------------------------------------------------------------------------------------------------------------------------------------
cxf-servlet.xml:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:jaxws="http://cxf.apache.org/jaxws"
xmlns:soap="http://cxf.apache.org/bindings/soap"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
http://cxf.apache.org/bindings/soap
http://cxf.apache.org/schemas/configuration/soap.xsd
http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd
">
<jaxws:endpoint
id="P2Pprovider_xml_bare"
implementor="demo.hw.server.HelloWorldImpl"
wsdlLocation="WEB-INF/wsdl/P2Pprovider.wsdl"
address="/HelloWorld" >
</jaxws:endpoint>
</beans>
------------------------------------------------------------------------------------------------------------------------------------------------------------------------
P2Pprovider.wsdl
<?xml version="1.0" encoding="UTF-8"?>
<wsdl:definitions
xmlns:ns1="http://schemas.xmlsoap.org/soap/http"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:tns="http://server.hw.demo/"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
name="HelloWorldService"
targetNamespace="http://server.hw.demo/">
<wsdl:types>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
attributeFormDefault="unqualified" elementFormDefault="unqualified"
targetNamespace="http://server.hw.demo/">
<xs:element name="getUsers" type="tns:getUsers"/>
<xs:element name="getUsersResponse"
type="tns:getUsersResponse"/>
<xs:element name="sayHi" type="tns:sayHi"/>
<xs:element name="sayHiResponse" type="tns:sayHiResponse"/>
<xs:element name="sayHiToUser" type="tns:sayHiToUser"/>
<xs:element name="sayHiToUserResponse"
type="tns:sayHiToUserResponse"/>
<xs:complexType name="sayHi">
<xs:sequence>
<xs:element minOccurs="0" name="arg0" type="xs:string"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="sayHiResponse">
<xs:sequence>
<xs:element minOccurs="0" name="return"
type="xs:string"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="sayHiToUser">
<xs:sequence>
<xs:element minOccurs="0" name="arg0" type="tns:User"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="User">
<xs:sequence>
<xs:element minOccurs="0" name="name" type="xs:string"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="sayHiToUserResponse">
<xs:sequence>
<xs:element minOccurs="0" name="return"
type="xs:string"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="getUsers">
<xs:sequence/>
</xs:complexType>
<xs:complexType name="getUsersResponse">
<xs:sequence>
<xs:element minOccurs="0" name="return"
type="tns:IntegerUserMap"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="IntegerUserMap">
<xs:sequence>
<xs:element maxOccurs="unbounded" minOccurs="0"
name="entry"
type="tns:IdentifiedUser"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="IdentifiedUser">
<xs:sequence>
<xs:element name="id" type="xs:int"/>
<xs:element minOccurs="0" name="user" type="tns:User"/>
</xs:sequence>
</xs:complexType>
</xs:schema>
</wsdl:types>
<wsdl:message name="sayHiToUserResponse">
<wsdl:part element="tns:sayHiToUserResponse" name="parameters">
</wsdl:part>
</wsdl:message>
<wsdl:message name="getUsers">
<wsdl:part element="tns:getUsers" name="parameters">
</wsdl:part>
</wsdl:message>
<wsdl:message name="sayHiToUser">
<wsdl:part element="tns:sayHiToUser" name="parameters">
</wsdl:part>
</wsdl:message>
<wsdl:message name="sayHi">
<wsdl:part element="tns:sayHi" name="parameters">
</wsdl:part>
</wsdl:message>
<wsdl:message name="sayHiResponse">
<wsdl:part element="tns:sayHiResponse" name="parameters">
</wsdl:part>
</wsdl:message>
<wsdl:message name="getUsersResponse">
<wsdl:part element="tns:getUsersResponse" name="parameters">
</wsdl:part>
</wsdl:message>
<wsdl:portType name="HelloWorld">
<wsdl:operation name="sayHi">
<wsdl:input message="tns:sayHi" name="sayHi">
</wsdl:input>
<wsdl:output message="tns:sayHiResponse" name="sayHiResponse">
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="sayHiToUser">
<wsdl:input message="tns:sayHiToUser" name="sayHiToUser">
</wsdl:input>
<wsdl:output message="tns:sayHiToUserResponse"
name="sayHiToUserResponse">
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="getUsers">
<wsdl:input message="tns:getUsers" name="getUsers">
</wsdl:input>
<wsdl:output message="tns:getUsersResponse"
name="getUsersResponse">
</wsdl:output>
</wsdl:operation>
</wsdl:portType>
<wsdl:binding name="HelloWorldImplServiceSoapBinding"
type="tns:HelloWorld">
<soap:binding style="document" transport="
http://schemas.xmlsoap.org/soap/http"/<
http://schemas.xmlsoap.org/soap/http%22/>
<wsdl:operation name="sayHi">
<soap:operation soapAction="" style="document"/>
<wsdl:input name="sayHi">
<soap:body use="literal"/>
</wsdl:input>
<wsdl:output name="sayHiResponse">
<soap:body use="literal"/>
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="sayHiToUser">
<soap:operation soapAction="" style="document"/>
<wsdl:input name="sayHiToUser">
<soap:body use="literal"/>
</wsdl:input>
<wsdl:output name="sayHiToUserResponse">
<soap:body use="literal"/>
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="getUsers">
<soap:operation soapAction="" style="document"/>
<wsdl:input name="getUsers">
<soap:body use="literal"/>
</wsdl:input>
<wsdl:output name="getUsersResponse">
<soap:body use="literal"/>
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:service name="HelloWorldImplService">
<wsdl:port binding="tns:HelloWorldImplServiceSoapBinding"
name="HelloWorldImplPort">
<soap:address
location="http://localhost:9000/helloWorld"/<
http://localhost:9000/helloWorld%22/>
</wsdl:port>
</wsdl:service>
</wsdl:definitions>
Anyone could give me a hint?
Thanks in advance
Jackey
--
Thanks,
Mick Knutson
http://www.baselogic.com
http://www.blincmagazine.com
http://www.linkedin.com/in/mickknutson
http://www.djmick.com
http://www.myspace.com/mickknutson
http://www.myspace.com/BLiNCMagazine
http://tahoe.baselogic.com
---