0

我正在尝试将参数传递给类构造函数,但没有成功。我试过以下

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"));

Web服务代码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

如果我从构造函数中删除参数,我在创建肥皂客户端时没有任何问题。

谢谢你的帮助。

4

1 回答 1

0

您应该映射到 php 类(通过提供带有名称的字符串),而后者又用于将参数转发到远程 URI,我得到的印象是您使用类映射作为尝试发送参数的一种方式直接地。如果不是,可以发布您的 mycountry 和 mystate 类以及您的 wsdl 文件。

您将在此博客文章(不是我的)上找到一个非常详细的示例,说明如何将 SoapClient 与 classmap 一起使用。这非常清楚,我建议您阅读一遍以确保这不是问题。希望能帮助到你。:)

于 2012-06-08T01:04:06.720 回答