Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/347.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用jax-ws时出现问题_Java_Web Services_Jax Ws_Saaj - Fatal编程技术网

Java 使用jax-ws时出现问题

Java 使用jax-ws时出现问题,java,web-services,jax-ws,saaj,Java,Web Services,Jax Ws,Saaj,我正在使用JAX-WS联系Web服务并获得以下错误: com.sun.xml.messaging.saaj.soap.LocalStrings != com.sun.xml.internal.messaging.saaj.soap.LocalStrings 搜索了一下这种问题,发现了这个 但这对我来说是行不通的。 jdk6似乎有问题(我目前正在使用java(build 1.6.0_22-b04)) 和saaj impl(目前使用saaj-impl-1.3.2.jar)。 显然jdk6有自己的

我正在使用JAX-WS联系Web服务并获得以下错误:

com.sun.xml.messaging.saaj.soap.LocalStrings != com.sun.xml.internal.messaging.saaj.soap.LocalStrings
搜索了一下这种问题,发现了这个
但这对我来说是行不通的。
jdk6似乎有问题(我目前正在使用java(build 1.6.0_22-b04)) 和saaj impl(目前使用saaj-impl-1.3.2.jar)。
显然jdk6有自己的saaj,但在另一个包中(内部添加) 它还与saaj impl(由maven2导入)进行斗争

使用Tomcat6也会有问题吗(只是想知道,一点也不确定:)

如果需要更多的代码或配置文件,我将提供它们

非常感谢您的帮助。

Milos

您需要做的可能是将最新版本放在java认可的目录中。将它放在JDK和JRE安装中。如果您使用的是Tomcat,那么它也有其认可的目录


是的,jdk6上的jax-ws是一个真正的难题,他们试图将其嵌入以供开箱即用,但当您需要更新某些内容时,一切都会中断。或者试试CXF,它也不是一帆风顺的,但受此类冲突的影响较小。

可能您需要做的是将最新版本放在java认可的目录中。将它放在JDK和JRE安装中。如果您使用的是Tomcat,那么它也有其认可的目录


是的,jdk6上的jax-ws是一个真正的难题,他们试图将其嵌入以供开箱即用,但当您需要更新某些内容时,一切都会中断。或者试试CXF,它也不是一帆风顺的,但受此类冲突的影响较小。

感谢jbx的快速回复!我想您建议将saaj-impl.jar放在JDK和JRE(也是Tomcat)的认可目录中。问题是Tomcat6没有名为annocated之类的目录(不像Tomcat5有/common/annocated),您能指导如何做到这一点吗?我是否应该手动创建目录以及目录的位置(我假设在$CATALINA_HOME中)?另外,在JRE和JDK中,没有这样的目录。提前谢谢!我怀疑这会有多大的不同,因为Tomcat已经使用了jdk中的saaj impl。事后想一想,你的Tomcat真的在使用兼容的JRE吗?检查Tomcat指向的JAVA_HOME是什么,以及它是否与您编译时使用的JAVA_HOME相同。Tomcat正在使用(build 1.6.0_06-b02),对不起,我的错误是因为我以前写过它使用(build 1.6.0_22-b04)。这是唯一安装的java。我不确定是否有任何区别,因为它毕竟是jdk6。我应该把这个jar放在lib文件夹中吗?从Tomcat6开始,他们就把它从common/annowed中删除了,现在它就直接放在base目录下。通常它不在那里,但是您可以创建它,它应该可以工作,因为默认的启动脚本包括:${CATALINA_BASE}/approved。您可以检查${CATALINA_BASE}/bin/setclasspath.sh以确保%{CATALINA_BASE}/annocated是被认可库的正确路径。我刚刚创建并将路径设置为$CATALINA_HOME/annocated,在那里复制了jar,但错误保持不变。有什么想法或建议吗?也许使用jdk1.5会有所帮助,jax ws在该版本的Java中工作正常吗?感谢jbx的快速回复!我想您建议将saaj-impl.jar放在JDK和JRE(也是Tomcat)的认可目录中。问题是Tomcat6没有名为annocated之类的目录(不像Tomcat5有/common/annocated),您能指导如何做到这一点吗?我是否应该手动创建目录以及目录的位置(我假设在$CATALINA_HOME中)?另外,在JRE和JDK中,没有这样的目录。提前谢谢!我怀疑这会有多大的不同,因为Tomcat已经使用了jdk中的saaj impl。事后想一想,你的Tomcat真的在使用兼容的JRE吗?检查Tomcat指向的JAVA_HOME是什么,以及它是否与您编译时使用的JAVA_HOME相同。Tomcat正在使用(build 1.6.0_06-b02),对不起,我的错误是因为我以前写过它使用(build 1.6.0_22-b04)。这是唯一安装的java。我不确定是否有任何区别,因为它毕竟是jdk6。我应该把这个jar放在lib文件夹中吗?从Tomcat6开始,他们就把它从common/annowed中删除了,现在它就直接放在base目录下。通常它不在那里,但是您可以创建它,它应该可以工作,因为默认的启动脚本包括:${CATALINA_BASE}/approved。您可以检查${CATALINA_BASE}/bin/setclasspath.sh以确保%{CATALINA_BASE}/annocated是被认可库的正确路径。我刚刚创建并将路径设置为$CATALINA_HOME/annocated,在那里复制了jar,但错误保持不变。有什么想法或建议吗?也许使用jdk1.5会有所帮助,jax-ws在该版本的Java中工作正常吗?