标签: jax-ws

JAX-WS入门

有人可以建议一些关于JAX-WS入门的好教程吗?使用各种工具,如wsgen等......

java jax-ws

14
推荐指数
1
解决办法
7677
查看次数

找不到taskdef类com.sun.tools.ws.ant.WsImport后面的"java web services教程"

我在许多不同的地方看到了同样的问题,即使经过大量的谷歌搜索,我也无法解决它.我想要做的事情(更大的图片)是通过java网络服务教程,这看起来似乎不同步,

特别是在这里,当我尝试编译时,我收到以下消息:

C:\ javaeetutorial5\examples\jaxws\common\targets.xml:26:无法找到taskdef类com.sun.tools.ws.ant.WsImport

我尝试了许多不同的放置罐子或改变环境变量的组合,但没有结果.有成功的故事吗?

完整生成错误消息如下:

建筑失败

C:\ javaeetutorial5\examples\jaxws\helloservice\build.xml:4:执行此行时发生以下错误:

C:\ javaeetutorial5\examples\jaxws\common\targets.xml:26:taskdef无法找到类com.sun.tools.ws.ant.WsImport所需的类:org/apache/tools/ant/DynamicConfigurator

使用类加载器AntClassLoader [C:\ Program Files(x86)\ Java\jdk1.6.0_23\lib\tools.jar]

总时间:0秒

和相应的taskdef:

<taskdef name="wsimport" classname="com.sun.tools.ws.ant.WsImport">
    <classpath refid="jaxws.classpath"/>
</taskdef>
Run Code Online (Sandbox Code Playgroud)

还可以查看认可目录:

C:\javaeetutorial5\kschneid>cd %JAVA_HOME%

C:\Program Files (x86)\Java\jdk1.6.0_23>dir lib\endorsed
 Volume in drive C is OSDisk
 Volume Serial Number is AAAA-BBBB

 Directory of C:\Program Files (x86)\Java\jdk1.6.0_23\lib\endorsed

25/02/2011  09:34    <DIR>          .
25/02/2011  09:34    <DIR>          ..
25/02/2011  09:34           105,134 jaxb-api.jar
25/02/2011  09:33            54,476 jaxws-api.jar
               2 File(s)        159,610 bytes
               2 Dir(s)  110,907,056,128 bytes free

C:\Program …
Run Code Online (Sandbox Code Playgroud)

java web-services jax-ws

14
推荐指数
4
解决办法
5万
查看次数

如何在java中添加soap标头

我有来自oracle的NO-.net webservice要访问我需要添加soap标头.如何在java中添加soap标头?

Authenticator.setDefault(new ProxyAuthenticator("username", "password"));
                System.getProperties().put("proxySet", "true");
                System.setProperty("http.proxyHost", "IP");
                System.setProperty("http.proxyPort", "port");




                proxy = new RegPresMed_Service(new URL("webservice")).getRegPresMed();
                ((BindingProvider) proxy).getRequestContext().put(BindingProvider.ENDPOINT_ADDRESS_PROPERTY, "realwebservice");
                ((BindingProvider) proxy).getRequestContext().put("com.sun.xml.ws.request.timeout", new Integer(60000));
                ((BindingProvider) proxy).getRequestContext().put(BindingProvider.USERNAME_PROPERTY, "webserviceUsername");
                ((BindingProvider) proxy).getRequestContext().put(BindingProvider.PASSWORD_PROPERTY, "webservicePassword");
Run Code Online (Sandbox Code Playgroud)

这有必要吗?

 ((BindingProvider) proxy).getRequestContext().put(BindingProvider.USERNAME_PROPERTY, "webserviceUsername");
                    ((BindingProvider) proxy).getRequestContext().put(BindingProvider.PASSWORD_PROPERTY, "webservicePassword");
Run Code Online (Sandbox Code Playgroud)

我的肥皂标题是这样的:

<wsse:Security soapenv:mustUnderstand="1"
xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
    <wsse:UsernameToken wsu:Id="UsernameToken-6"
xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
        <wsse:Username>username</wsse:Username>
        <wsse:Password
Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">password</wsse:Password>
        <wsse:Nonce
EncodingType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#Base64Binary">randomnaumber==</wsse:Nonce>
        <wsu:Created>dateCreated</wsu:Created>
    </wsse:UsernameToken>
</wsse:Security>
Run Code Online (Sandbox Code Playgroud)

java ws-security web-services jax-ws soapheader

14
推荐指数
2
解决办法
10万
查看次数

Webservice - 客户端服务实例化

您知道创建Web服务客户端服务实例的成本是多少?

 JavaWebService service = new JavaWebService();
 SomePort port = service.getJavaWebServicePort(); 
Run Code Online (Sandbox Code Playgroud)

创建服务一次,然后在多线程环境(webapp)中重用相同的端口并不危险?

请注意,端口getPort和端口本身不是线程安全的,但是如果服务成本高昂,每次创建服务时都可能会产生问题.

任何的想法 ?

谢谢

java web-services java-metro-framework jax-ws

14
推荐指数
1
解决办法
7447
查看次数

访问Tomcat上的wsdl

我有一个Web服务,我正在GlassFish上部署它.我通过http:// localhost:10697/APIService/APIServiceService?wsdl访问了它的wsdl.

现在我将WAR文件移植到Tomcat 6.0.24并进行部署.但是我试图使用http:// localhost:8080/APIService/APIServiceService?wsdl访问其wsdl,但我收到404错误.我尝试了各种组合,但似乎都没有.

如何访问wsdl文件plz?

感谢致敬,

更新:你在这里web.xml:

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
    <session-config>
        <session-timeout>
            30
        </session-timeout>
    </session-config>
    <welcome-file-list>
        <welcome-file>index.jsp</welcome-file>
    </welcome-file-list>
</web-app>
Run Code Online (Sandbox Code Playgroud)

但我找不到sun-jaxws.xml......非常感谢!问候

java tomcat wsdl glassfish jax-ws

13
推荐指数
1
解决办法
4万
查看次数

如何将SOAP标头添加到Spring Jax-WS客户端?

如何将SOAP标头添加到Spring Jax-WS客户端?

具体来说,我有一个Jaxb对象,我想添加到标题,但xml示例将不胜感激.

我正在使用这里描述的Spring的JaxWsPortProxyFactoryBean .此外,我正在生成我的客户端,如此处所述,它减少了我需要添加的标头.

谢谢.

java spring jax-ws soapheader

13
推荐指数
3
解决办法
2万
查看次数

JAX-WS Sharepoint 401未经授权的NTLM

我试着通过JAX-WS访问SharePoint列表中所描述的在这里

但是,当运行下面的代码时,我得到:

java.lang.Exception: Exception. See stacktrace.com.sun.xml.internal.ws.client.ClientTransportException: The server sent HTTP status code 401: Unauthorized
Run Code Online (Sandbox Code Playgroud)

Sharepoint需要NTLM身份验证.可能是什么问题?非常感谢!

public static ListsSoap sharePointListsAuth(String userName, String password) throws Exception {
    ListsSoap port = null;
    if (userName != null && password != null) {
        try {
            Lists service = new Lists();
            port = service.getListsSoap();
            System.out.println("Web Service Auth Username: " + userName);
            ((BindingProvider) port).getRequestContext().put(BindingProvider.USERNAME_PROPERTY, userName);
            ((BindingProvider) port).getRequestContext().put(BindingProvider.PASSWORD_PROPERTY, password);
        } catch (Exception e) {
            throw new Exception("Error: " + e.toString());
        }
    } else {
        throw new Exception("Couldn't …
Run Code Online (Sandbox Code Playgroud)

java sharepoint exchange-server ntlm jax-ws

13
推荐指数
1
解决办法
2万
查看次数

没有sun-jaxws.xml的Tomcat上的JAX-WS Web服务

我正在尝试在Tomcat上部署基于JAX-WS的Web服务时最小化所需的配置.随着Servlet 3.0的推出(由Tomcat 7+支持),web.xml可以抛出,但仍然存在sun-jaxws.xml.这篇博文很有意思:

当然,通过使用jax-ws注释,即使配置sun-jaxws.xml也可以选择使其完全无描述符,但这需要指定一个默认的url-pattern,如JSR-109或自定义模式,如Jersey REST服务,在JAX-WS规范中.

是否有可能避免sun-jaxws.xml在Tomcat上,以及如何?

java tomcat web-services jax-ws java-ee

13
推荐指数
1
解决办法
1万
查看次数

javax.xml.ws.Service.getPort上的JAVA JAX-WS NullPointerException(Service.java:188)

我在ubuntu下的jboss上部署了简单的"HelloWorld"Web服务.我创建了简单的客户端,但我无法让它工作.每次运行客户端时,我都会收到NullPointerException.

请注意,我在Ubuntu下运行Oracle Java 7.

这是代码:HelloWorldClient.java

import java.net.MalformedURLException;
import java.net.URL;

import javax.xml.namespace.QName;
import javax.xml.ws.Service;


public class HelloWorldClient {

public static void main(String[] args){
    URL url;
    try {
        url = new URL("http://localhost:8080/WebServiceProject/helloWorld?wsdl");
        QName qname = new QName("http:///", "HelloWorldImplService");

        Service service = Service.create(url, qname);

        HelloWorld hello = service.getPort(HelloWorld.class);

         System.out.println(hello.sayHello("mkyong"));
    } catch (MalformedURLException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }

}
Run Code Online (Sandbox Code Playgroud)

}

HelloWorld.java

import javax.jws.WebMethod;
import javax.jws.WebService;


@WebService
public interface HelloWorld {

    @WebMethod
    public String sayHello(String name);

}
Run Code Online (Sandbox Code Playgroud)

堆栈跟踪:

Exception in thread …
Run Code Online (Sandbox Code Playgroud)

port web-services jax-ws nullpointerexception

13
推荐指数
1
解决办法
6227
查看次数

在JAXWS服务器端检索Soap Header

我们正在尝试在JAX Web服务中执行安全性实现,并在头部中传递UserName和Password,如下所示.

<soapenv:Header>
    <wsse:Security soapenv:mustUnderstand="0" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
        <wsse:UsernameToken wsu:Id="Id-8zvykuwmK8yg6dxn3632nQJB" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
            <wsse:Username>gears_user</wsse:Username>
            <wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">##########</wsse:Password>
        </wsse:UsernameToken>
    </wsse:Security>
</soapenv:Header>
Run Code Online (Sandbox Code Playgroud)

在Java中,我们正在尝试检索用户名和密码,但我们不知道如何做,因为它是Soap Header的一部分,我们之前没有检索过头信息.

    .....
     @Resource
WebServiceContext wsctx;


public ServiceAvailabilityResponseType inquireGeographicEligibility(ServiceAvailabilityRequestType inquireGeographicEligibilityRequest)
    throws WSException
{

     HeaderList hl=(HeaderList)wsctx.getMessageContext().get(JAXWSProperties.INBOUND_HEADER_LIST_PROPERTY);
     QName security = new QName("http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd", 
            "Security");    
     Header hd = hl.get(security, false);


     QName userName = new QName("http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd", 
        "Username");
     try
     {
         System.out.println(hd.readHeader());    
         System.out.println(hd.getAttribute(userName));
     }catch (Exception e) {
        System.out.println(e.getMessage());
    }

   }
Run Code Online (Sandbox Code Playgroud)

我们正在尝试如上所述并获取标题元素,但它没有返回值.任何有关检索用户名和密码的方法的帮助将不胜感激.

java soap web-services jax-ws

13
推荐指数
1
解决办法
2万
查看次数