将参数传递给Class构造函数PHP SOAP?

时间:2012-06-07 18:22:37

标签: java php web-services soap constructor

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

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客户端时没有任何问题。

谢谢你的帮助。

1 个答案:

答案 0 :(得分:0)

你应该映射到php类(通过提供一个字符串及其名称),然后用于将参数转发到远程URI,我得到的印象是你使用类图作为一种尝试的方式并直接发送参数。如果没有,可能会发布你的mycountry和mystate类以及你的wsdl文件。

你会发现一个非常详细的例子,说明如何在这个blog post(不是我的)上使用带有类图的SoapClient。这很清楚,我建议你阅读一次,以确保这不是问题。希望能帮助到你。 :)