Hello, Everybody! I have a very urgent question to ask.
I use apache-servicemix-3.1-incubating to deploy a "Hello" web service.
Generally speaking, i just want to imitate the example of following webPage:
http://www.topoint.com.cn/html/soa/2008/02/204385.html
it's a static deployment use servicemix.xml as follow:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://xbean.org/schemas/spring/1.0"
xmlns:spring="http://xbean.org/schemas/spring/1.0"
xmlns:sm="http://servicemix.apache.org/config/1.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:jsr181="http://servicemix.apache.org/jsr181/1.0"
xmlns:http="http://servicemix.apache.org/http/1.0"
xmlns:hello="hello"
xsi:schemaLocation="http://xbean.org/schemas/spring/1.0
../../conf/spring-beans.xsd
http://servicemix.org/config/1.0
../../conf/servicemix.xsd"
xmlns:foo="http://servicemix.org/demo">
<!-- the JBI container -->
<!-- <sm:container spring:id="jbi"
useMBeanServer="true"
createMBeanServer="true"
dumpStats="true"
statsInterval="10"> -->
<!-- the above is 3.0 , the following two is 3.1
servicemix-http-3.1-incubating-installer.zip
servicemix-jsr181-3.1-incubating-installer.zip
servicemix-shared-3.1-incubating-installer.zip
echotest.jar, echo.jar
need to unzip the above to lib/optional
endpoint="echoHttpPort" must onsistant with
-->
<bean id="jndi"
class="org.apache.xbean.spring.jndi.SpringInitialContextFactory"
factory-method="makeInitialContext" singleton="true" />
<sm:container id="jbi" useMBeanServer="true" createMBeanServer="true">
<sm:activationSpecs>
<!-- Create a http server binding on port 8912 and have it forward to the
foo:stockQuote -->
<sm:activationSpec>
<sm:component>
<http:component>
<http:endpoints>
<http:endpoint service="hello:hello"
endpoint="helloHttpPort"
role="consumer"
locationURI="http://localhost:8192/hello/"
defaultMep="http://www.w3.org/2004/08/wsdl/in-out"
soap="true"
soapAction="getHello" />
</http:endpoints>
</http:component>
</sm:component>
</sm:activationSpec>
<!-- wsdlResource is must, otherwise, will have the urlconnect error -->
<!-- main.wsdl not accessible after deploying WSDL to servicemix-http
component --><sm:activationSpec>
<sm:component>
<jsr181:component>
<jsr181:endpoints>
<jsr181:endpoint pojoClass="server.HelloService"
wsdlResource="classpath:hello_xfire.wsdl"
style="document"
serviceInterface="server.Hello"
annotations="none" />
</jsr181:endpoints>
</jsr181:component>
</sm:component>
</sm:activationSpec>
</sm:activationSpecs>
</sm:container>
</beans>
The WSDL is in attachment which name is hello_xfire.wsdl. It is encapulated
with the hello implemented class and hello interface which is in
helloServer.jar.
The client code is as follow:
import hello.helloClient;
import java.io.*;
import java.net.URL;
import java.net.URLConnection;
public static void main(String[] args) throws Exception {
URLConnection connection = new
URL("http://localhost:8192/hello/").openConnection();
connection.setDoOutput(true);
OutputStream os = connection.getOutputStream();
// Post the request file.
FileInputStream fis = new FileInputStream("request.xml");
int c;
while ((c = fis.read()) >= 0) {
System.out.println(c);
os.write(c);
}
os.close();
fis.close();
System.out.println("request send finished!");
// Read the response.
BufferedReader in = new BufferedReader(new
InputStreamReader(connection.getInputStream()));
System.out.println("BufferedReader created!");
String inputLine;
while ((inputLine = in.readLine()) != null) {
System.out.println(inputLine);
}
System.out.println("reading success!");
in.close();
}
}
the reques.xml is as follow:
<?xml version="1.0" encoding="UTF-8"?>
<env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/" >
<env:Body>
<getHello xmlns="hello">
<in0 xmlns="hello">Aihu</in0>
</getHello>
</env:Body>
</env:Envelope>
When i start the servicemix and i can test the webservice is right by
explorer:"http://localhost:8192/hello/main.wsdl" but when i run the client
in eclipse, it shows me with such exception in server:
Nested exception is org.codehaus.xfire.fault.XFireFault: Could not read XML
stream..
Nested exception is com.ctc.wstx.exc.WstxParsingException:Expected a text
token, got START_ELEMENT.
at[row,col<unknown-source>]:[2,28]
I have try all my way to kill the bug, including to check these exception on
web or on forum,still have no good answer.
I hope that you can help me with some clues or advise, thanks in advance!
Barry
http://www.nabble.com/file/p17876511/hello_xfire.wsdl hello_xfire.wsdl
http://www.nabble.com/file/p17876511/helloServer.jar helloServer.jar
--
View this message in context:
http://www.nabble.com/Web-Service-on-ServiceMix-question-tp17876511p17876511.html
Sent from the ServiceMix - User mailing list archive at Nabble.com.