我试图将参数传递给类构造函数,但是没有成功。我试过以下
PHP
$c = "site.wsdl";
$client = new SoapClient($c,array('classmap' => array('state' => "mystate",'county' => "mycounty")),array("trace"=> 1,"exceptions" => 1));
$client = new SoapClient($c,array('classmap' => array('state' => "mystate",'county' => "mycounty")));
$client = new SoapClient($c,array('state' => "mystate",'county'=>"mycounty"));
Webservice Code Java
@WebService
public class MyWebservice{
String test = "";
/**
*
* @param county
* @param state
*/
public MyWebservice(@WebParam(name = "county") String county,
@WebParam(name = "state") String state) {
test= county+"_"+state;
//want to use this String elsewhere in the class
}
}
错误
Fatal error: Uncaught SoapFault exception: [S:Server] com.sun.enterprise.container.common.spi.util.InjectionException: Error creating managed object for class
如果我从构造函数中删除参数,我在创建soap客户端时没有任何问题。
谢谢你的帮助。
答案 0 :(得分:0)
你应该映射到php类(通过提供一个字符串及其名称),然后用于将参数转发到远程URI,我得到的印象是你使用类图作为一种尝试的方式并直接发送参数。如果没有,可能会发布你的mycountry和mystate类以及你的wsdl文件。
你会发现一个非常详细的例子,说明如何在这个blog post(不是我的)上使用带有类图的SoapClient。这很清楚,我建议你阅读一次,以确保这不是问题。希望能帮助到你。 :)