当前位置:  开发笔记 > 编程语言 > 正文

Web Service的简单Java客户端代码 - 与QName有关吗?

如何解决《WebService的简单Java客户端代码-与QName有关吗?》经验,为你挑选了2个好方法。

当我到达调用我在Tomcat/Axis上运行的REALLY BASIC Web服务的行时,我收到以下错误.

Element or attribute do not match QName production: QName::=(NCName':')?NCName

我的QName有问题吗? - 我甚至找不到任何有用的信息.

我的客户端代码如下:

import javax.xml.namespace.QName;
import org.apache.axis.client.Call;
import org.apache.axis.client.Service;

    public class TestClient {

    public static void main(String [] args)
    {
        try{
            String endpoint = "http://localhost:8080/TestWebService/services/DoesMagic";  

            Service service = new Service();
            Call call = (Call) service.createCall();

            call.setTargetEndpointAddress( new java.net.URL(endpoint) );
            call.setOperationName( new QName("http://testPackage.fc.com/, doBasicStuff") );

            String ret = (String) call.invoke( new Object[] {"some kind of message"} );

            System.out.println(ret);

        }catch(Exception e){
            System.err.println(e.toString());
        }
    }
}

我的web服务代码非常基本 - 只是一个简单的类,它返回你的输入字符串,带有一些concat文本:

public String doBasicStuff(String message)
    {
        return "This is your message: " + message;

    }

Martin Probs.. 7

正如例外所示,您错误地调用了QName构造函数:

new QName("http://testPackage.fc.com/, doBasicStuff")

是不正确的.我认为你必须传递两个字符串,一个包含命名空间,一个包含localname.该文档通常包含有关如何使用该类的说明.



1> Martin Probs..:

正如例外所示,您错误地调用了QName构造函数:

new QName("http://testPackage.fc.com/, doBasicStuff")

是不正确的.我认为你必须传递两个字符串,一个包含命名空间,一个包含localname.该文档通常包含有关如何使用该类的说明.


如果有一个白痴徽章,我想我应该得到它!

2> Rich Kroll..:

它可能是你QName中的拼写错误吗?:

new QName("http://testPackage.fc.com/", "doBasicStuff")

代替:

new QName("http://testPackage.fc.com/, doBasicStuff")

推荐阅读
农大军乐团_697
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有