簡體   English   中英

如何通過JAVA中的SoapClient運行命令

[英]How to run commands through a SoapClient in JAVA

這與Java中的這段簡短php代碼等效嗎?

$client = new SoapClient(NULL,
  array(
    "location" => "http://hostname:port/')",
    "uri" => "urn:String",
    "style" => SOAP_RPC,
    'login' => "soapuser",
    'password' => "soappass",
  )
);


$command = "This command will be sent to SOAP";
try {
  $result = $client->executeCommand(new SoapParam($command, "command"));
  return true;
}
catch (Exception $e)  {
  return false;
}

短的Java類是否有可能達到相同的結果?

更新2我可能不明白您的問題。 (您能提供您的servive的wdsl嗎?)要創建類似於您的php代碼的客戶端:

采用:

package com.mkyong.client;

import java.net.URL;
import javax.xml.namespace.QName;
import javax.xml.ws.Service;
import com.mkyong.ws.HelloWorld;

public class HelloWorldClient{

    public static void main(String[] args) throws Exception {

    URL url = new URL("http://localhost:9999/ws/hello?wsdl");

        //1st argument service URI, refer to wsdl document above
    //2nd argument is service name, refer to wsdl document above
        QName qname = new QName("http://ws.mkyong.com/", "HelloWorldImplService");

        Service service = Service.create(url, qname);

        HelloWorld hello = service.getPort(HelloWorld.class);

        System.out.println(hello.getHelloWorldAsString("mkyong"));

    }

}

將此文件復制到com / mkyong / client。 要使用javac com/mkyong/client/HelloWorldClient.java進行編譯並運行,請使用java com/mkyong/client/HelloWorldClient進行運行,另請參見: 使用javac在一個程序包中編譯四個Java文件在命令行中制作一個Java程序包。

“映射”到您的php示例http://localhost:9999/ws/hello?wsdl將等效於http://hostname:port/executeCommand將與hello.getHelloWorldAsString相同。

更新嘗試JAX-WS( http://jax-ws.java.net/

http://www.mkyong.com/webservices/jax-ws/jax-ws-hello-world-example/

package com.mkyong.ws;

import javax.jws.WebMethod;
import javax.jws.WebService;
import javax.jws.soap.SOAPBinding;
import javax.jws.soap.SOAPBinding.Style;

//Service Endpoint Interface
@WebService
@SOAPBinding(style = Style.RPC)
public interface HelloWorld{

    @WebMethod String getHelloWorldAsString(String name);

}

除了答案: Working Soap客戶端示例,您還可以找到許多教程,這些教程告訴您如何在Java中編寫Soap客戶端:

我猜您正在尋找用於PHP soap服務的基於Java的soap客戶端。 不久前,我也有類似的要求,並且可以在下面找到相同的漂亮教程: http : //development.nedeco.de/blog/2011/08/03/java-client-php-soapserver/

另請參閱此免費的便捷書籍http://www.ksi.edu/thesis/rhuang/rhuang.pdf

Groovy是Java的超集,因此發布了一個很棒的庫供您在groovy中使用,並且可能用與php完全相同的代碼行來實現。 https://github.com/jwagenleitner/groovy-wslite

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM