请问抛出No Content-type in the header!该怎么解决?
异常如下:
javax.xml.ws.WebServiceException: No Content-type in the header!
at com.sun.xml.ws.transport.http.client.HttpTransportPipe.process(HttpTransportPipe.java:165)
at com.sun.xml.ws.transport.http.client.HttpTransportPipe.processRequest(HttpTransportPipe.java:88)
at com.sun.xml.ws.api.pipe.Fiber.__doRun(Fiber.java:595)
at com.sun.xml.ws.api.pipe.Fiber._doRun(Fiber.java:554)
at com.sun.xml.ws.api.pipe.Fiber.doRun(Fiber.java:539)
at com.sun.xml.ws.api.pipe.Fiber.runSync(Fiber.java:436)
at com.sun.xml.ws.client.Stub.process(Stub.java:248)
at com.sun.xml.ws.client.sei.SEIStub.doProcess(SEIStub.java:134)
at com.sun.xml.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:244)
at com.sun.xml.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:224)
at com.sun.xml.ws.client.sei.SEIStub.invoke(SEIStub.java:117)
at $Proxy29.sayHello(Unknown Source)
at com.foshanshop.AppTest.TestHelloWorld.main(TestHelloWorld.java:11)

我的测试代码如下:
package com.foshanshop.AppTest;import com.foshanshop.ws.client.HelloWorld;
import com.foshanshop.ws.client.HelloWorldService;public class TestHelloWorld {
    public static void main(String[] args) {
        try {
         HelloWorldService service = new HelloWorldService();
         HelloWorld helloWorld = service.getHelloWorldPort();
         String result = helloWorld.sayHello("James");
            System.out.println(result);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}build.xml文件如下:
<?xml version="1.0" encoding="UTF-8"?>
<!-- ======================================================================= -->
<!-- EJB3 WSClient build file                                                -->
<!-- ======================================================================= -->
<project name="WSClient" default="wsclientgen" basedir="..">
<property name="app.dir" value="${basedir}/WSClient" />
<property name="src.dir" value="${app.dir}/src" />
    <!-- Build classpath -->
    <path id="build.classpath" description="build classpath">
<fileset dir="${basedir}/lib/JAX-WS2.1.2">
            <include name="*.jar"/>
        </fileset>
    </path>
    <!-- ================================================================== -->
    <!-- Generating sources                                                 -->
    <!-- ================================================================== -->
    <target name="wsclientgen" description="generate source">
     <taskdef name="wsimport" classname="com.sun.tools.ws.ant.WsImport" classpathref="build.classpath"/>
     <wsimport wsdl="http://127.0.0.1:8080/Services/HelloWorldService?wsdl" 
     sourcedestdir="${src.dir}" package="com.foshanshop.ws.client" keep="true" 
     verbose="true" destdir="${app.dir}/bin"/>
    </target>
</project>启动jboss服务器,可以看到
Registered Service EndpointsEndpoint Name jboss.ws:context=Services,endpoint=HelloWorldService 
Endpoint Address http://127.0.0.1:8080/Services/HelloWorldService?wsdl 
StartTime StopTime  
Sat Sep 27 14:36:24 CST 2008   
RequestCount ResponseCount FaultCount 
0 0 0 
MinProcessingTime MaxProcessingTime AvgProcessingTime 
0 0 0 

可以看到http://127.0.0.1:8080/Services/HelloWorldService?wsdl的内容。

解决方案 »

  1.   

    Web Service没用过啊,不过我们很快就要用这个了!关注中/
      

  2.   

    不知版本的这个问题解决了没..
    我也遇到了同样的问题..
    因为我的项目是用过滤器编码的,再调用webService时被编码了.导至了这个问题..
    我把过滤器去掉了就行了..
      

  3.   

    If JBOSS server , try to move below 4 jar: 
    jbossws-native-jaxrpc.jar
    jbossws-native-jaxws.jar
    jbossws-native-jaxws-ext.jar
    jbossws-native-saaj.jar 
    from (JBOSS_HOME/common/lib) to endorsed folder   (JBOSS_HOME/lib/endorsed)