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
---


Reply via email to