我有一个名为“diagnosticPing”的CXF JAX-WS Web服务操作,它接受两个参数,一个int和一个String []数组。来自wsdl:
<xs:element name="depth" type="xs:int"/>
<xs:element maxOccurs="unbounded" minOccurs="0" name="instructions" type="xs:string"/>
我想尝试直接从浏览器调用此操作,因为这将是一种“ping”服务而不需要像SoapUI这样的工具的有用方法。但是,我无法弄清楚如何构造我的查询字符串,以便服务将识别String []数组参数。我最好的尝试是这样的:
但是我收到了这样的错误:
调用public java.util.List时,参数类型不匹配 ca.gwl.group.account.service.routing.AccountServiceRouter.diagnosticPing(int,java.lang.String [])with params [2,{“accountType = ABC”,“action = getDetails”,“version = 1.0”} ]
有没有人知道如何使用将被接受为String数组的查询字符串参数来调用Web服务?
答案 0 :(得分:1)
看起来没有办法。如果你想看一下,你可以深入研究CXF URIMappingInterceptor。那里有一种方法叫做:
private Object readType(String value, Class type)
需要更新才能处理集合和数组。欢迎补丁。
: - )