xfire生成webservice客户端参数设置报错问题。希望各位大神帮忙看下是哪里出问题了。跪谢~
错误描述:生成代码中添加了对象参数,首层对象参数获取到了,下一层参数对象添加了,但发送时候回馈为null。
报错:org.codehaus.xfire.XFireRuntimeException:Could not invoke service.. Nested exception is org.codehaus.xfire.fault.XFireFault: esbErrCode:0124,ErrMsg:发起机构[DOMAIN:UCRM,DUNS:null]对服务的[PayFeeEXSer]的没有访问权限!
使用soupUI发送报文如下回馈为正常:
<soapenv:Body>
<unib:PAY_EX_INFO_INPUT>
<unib1:UNI_BSS_HEAD>
<unib1:ORIG_DOMAIN>UCRM</unib1:ORIG_DOMAIN>
<unib1:SP_RESERVE>
<unib1:OSNDUNS>999</unib1:OSNDUNS>
</unib1:SP_RESERVE>
</unib1:UNI_BSS_HEAD>
</unib:PAY_EX_INFO_INPUT>
</soapenv:Body>
测试类代码中添加参数:
ObjectFactory factory=new ObjectFactory();
PAYEXINFOINPUT info=factory.createPAYEXINFOINPUT();
UNIBSSHEAD head = factory.createUNIBSSHEAD();
UNIBSSHEAD.SPRESERVE spreserve = factory.createUNIBSSHEADSPRESERVE();
spreserve.setOSNDUNS("999");
head.setSPRESERVE(spreserve );
head.setORIGDOMAIN("UCRM");
info.setUNIBSSHEAD(head);
发送时候提示DUNS:null
但实际是插入值了的。
后期又用get方法
String cc = info.getUNIBSSHEAD().getSPRESERVE().getOSNDUNS();
System.out.println("------duns------>"+cc);
可以取到值:------duns------>8700