当我到达调用我在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.该文档通常包含有关如何使用该类的说明.
正如例外所示,您错误地调用了QName构造函数:
new QName("http://testPackage.fc.com/, doBasicStuff")
是不正确的.我认为你必须传递两个字符串,一个包含命名空间,一个包含localname.该文档通常包含有关如何使用该类的说明.
它可能是你QName中的拼写错误吗?:
new QName("http://testPackage.fc.com/", "doBasicStuff")
代替:
new QName("http://testPackage.fc.com/, doBasicStuff")