Vid*_*dar 2 java client rpc web-services
当我到达调用我在Tomcat/Axis上运行的REALLY BASIC Web服务的行时,我收到以下错误.
Element or attribute do not match QName production: QName::=(NCName':')?NCName
Run Code Online (Sandbox Code Playgroud)
我的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());
}
}
}
Run Code Online (Sandbox Code Playgroud)
我的web服务代码非常基本 - 只是一个简单的类,它返回你的输入字符串,带有一些concat文本:
public String doBasicStuff(String message)
{
return "This is your message: " + message;
}
Run Code Online (Sandbox Code Playgroud)
正如例外所示,您错误地调用了QName构造函数:
new QName("http://testPackage.fc.com/, doBasicStuff")
Run Code Online (Sandbox Code Playgroud)
是不正确的.我认为你必须传递两个字符串,一个包含命名空间,一个包含localname.该文档通常包含有关如何使用该类的说明.
它可能是你QName中的拼写错误吗?:
new QName("http://testPackage.fc.com/", "doBasicStuff")
Run Code Online (Sandbox Code Playgroud)
代替:
new QName("http://testPackage.fc.com/, doBasicStuff")
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
55796 次 |
| 最近记录: |