webserver报XFireFault: Unmarshalling Error: unexpected element (uri:"http://server.iflytek.com/", loc
来源:互联网 发布:.net是编程语言吗 编辑:程序博客网 时间:2024/05/17 02:58
今天用XFire的客户端去访问自己创建的webserver,结果在调用的时候报错,首先看一下客户端的
代码:
/*** Project Name:asjgl* File Name:Main.java* Package Name:com.iflytek.jsec.zdsjyj.util* Date:2016-1-13下午08:21:16* Copyright (c) 2016, syzhao@iflytek.com All Rights Reserved.**/package com.iflytek.jsec.zdsjyj.util;import java.net.MalformedURLException;import java.net.URL;import org.codehaus.xfire.client.Client;import org.codehaus.xfire.service.Service;public class Main{ /** * main:(这里用一句话描述这个方法的作用). <br/> * @author syzhao * @param args * @since JDK 1.6 */ public static void main(String[] args) { Client client = null; try { client = new Client(new URL("http://localhost:8080/springwebserver/ws/HelloWorld?wsdl")); Service service = client.getService(); System.out.println(service.getName()); Object[] result1 = client.invoke("sayHello", new Object[] {"张三"}); for (int i = 0; i < result1.length; i++) { System.out.println(result1[i]); } } catch (MalformedURLException e) { e.printStackTrace(); } catch (Exception e) { e.printStackTrace(); } }}
上面代码没有写错,就是报这个错误:
{http://server.iflytek.com/}HelloWorldServiceorg.codehaus.xfire.fault.XFireFault: Unmarshalling Error: unexpected element (uri:"http://server.iflytek.com/", local:"arg0"). Expected elements are <{}arg0> at org.codehaus.xfire.fault.Soap11FaultSerializer.readMessage(Soap11FaultSerializer.java:31)at org.codehaus.xfire.fault.SoapFaultSerializer.readMessage(SoapFaultSerializer.java:28)at org.codehaus.xfire.soap.handler.ReadHeadersHandler.checkForFault(ReadHeadersHandler.java:111)at org.codehaus.xfire.soap.handler.ReadHeadersHandler.invoke(ReadHeadersHandler.java:67)at org.codehaus.xfire.handler.HandlerPipeline.invoke(HandlerPipeline.java:131)at org.codehaus.xfire.client.Client.onReceive(Client.java:406)at org.codehaus.xfire.transport.http.HttpChannel.sendViaClient(HttpChannel.java:139)at org.codehaus.xfire.transport.http.HttpChannel.send(HttpChannel.java:48)at org.codehaus.xfire.handler.OutMessageSender.invoke(OutMessageSender.java:26)at org.codehaus.xfire.handler.HandlerPipeline.invoke(HandlerPipeline.java:131)at org.codehaus.xfire.client.Invocation.invoke(Invocation.java:79)at org.codehaus.xfire.client.Invocation.invoke(Invocation.java:114)at org.codehaus.xfire.client.Client.invoke(Client.java:336)at org.codehaus.xfire.client.Client.invoke(Client.java:368)at com.iflytek.jsec.zdsjyj.util.Main.main(Main.java:35)
说明后台代码错了,只要在webserver的注解里添加targetNamespace即可,请看代码:
@WebServicepublic class HelloWorldImpl implements HelloWorld{ /** * TODO 简单描述该方法的实现功能(可选). * @see com.iflytek.server.HelloWorld#sayHello(java.lang.String) */ @WebResult(name = "name", targetNamespace = "http://server.iflytek.com/") @WebMethod public String sayHello(@WebParam(name = "name", targetNamespace = "http://server.iflytek.com/") String string) { System.out.println("hello " + string); return "你好," + string;}}
在参数和返回值上添加targetNamespace即可,targetNamespace不要写错了,否则,后台无法获取你的参数值,也无法返回给你值!
targetNamespace这个东西冲wsdl里复制最稳当!
结果如下:
0 0
- webserver报XFireFault: Unmarshalling Error: unexpected element (uri:"http://server.iflytek.com/", loc
- Unmarshalling Error: unexpected element
- Unmarshalling Error: unexpected element 错误的解决
- Unmarshalling Error: unexpected element 错误的解决
- Unmarshalling Error: unexpected element 错误的解决
- unexpected element (uri:"", local:"sean:person"). Expected elements are <{http://sean.com}person>
- shihangbo-delphi7调用java-cxf-webservices出错 'Unmarshalling Error: unexpected element
- Webservice调用服务端 Unmarshalling Error: unexpected element (Xxx). Expected elements are Xxx
- 使用NodeJS的SOAP包时报"Unmarshalling Error: unexpected element错的问题
- unmarshalling error
- unexpected element (uri:"", local:"prescDrug"). Expected elements 错误
- org.apache.cxf.interceptor.Fault: Unmarshalling Error: 意外的元素 (uri:"", local:"action")
- 解决:activiti explorer报错:Internal Server Error (500) - The server encountered an unexpected condition
- COMMIT ERROR: server unexpected return......
- fatal error C1010: unexpected end of file解决方案 本文来自: 村友录 http://www.cunyoulu.com/
- 不知道发布端(即服务器端)是哪种发布技术的情况下,客户端使用axis去调用,报错:unexpected element (uri:" Expected elements are <
- <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>报错
- <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>报错
- 不看星座和属相,从你喜欢的编程语言看你是什么人
- 浅谈Android控件中的ListView优化
- mac上编译thrift 0.8.0
- tomcat集群基于redis共享session解决方案
- 通过Net::Ping 理解Perl的面向对象
- webserver报XFireFault: Unmarshalling Error: unexpected element (uri:"http://server.iflytek.com/", loc
- JavaScript
- C++入门学习笔记(四)--继承与多态
- 编译语言和解释语言(脚本)
- PPAPI插件与浏览器的通信
- VC C++ 操作 Excel 总结
- converting to execution character set: Invalid or incomplete multibyte or wide character
- PhoneWindow对象的创建
- HDU 1060 Leftmost Digit