2017-10-08 91 views
0

我有web服務Processmaker Web服務在C#中

http://sandbox3.processmaker.com/sysworkflow/en/neoclassic/services/wsdl2 

進行登錄

<?PHP 
    /*webservice connection NOTE: Replace this WebAddress with your instance*/ 
    $client = new SoapClient('http://sandbox3.processmaker.com/sysworkflow/en/neoclassic/services/wsdl2'); 
    $params = array(array('userid'=>'admin', 'password'=>'processmaker')); 
    $result = $client->__SoapCall('login', $params); 

    /*webservice validate connection: begin*/ 
    if($result->status_code == 0){ 
     p("Connection Successful!"); 
     p("Session ID: " . $result->message); 
     $session = $result->message; 
?> 

我需要調用在C#此Web服務

我創建的項目,點擊PHP中的實現項目名稱和添加服務參考

命名爲SR_Processmaker

我用下面的代碼來獲得sessionId

using Processmaker_Webservice.SR_Processmaker; 
string userId = "1234567892"; 
       string password = "123456789"; 
       loginRequest login = new loginRequest(userId,password); 

在登錄只是用戶ID和口令。

XML是

<xs:schema elementFormDefault="qualified" targetNamespace="http://www.processmaker.com"> 
<xs:element name="login"> 
<xs:complexType> 
<xs:sequence> 
<xs:element name="userid" type="xs:string"/> 
<xs:element name="password" type="xs:string"/> 
</xs:sequence> 
</xs:complexType> 
</xs:element> 
<xs:element name="loginResponse"> 
<xs:complexType> 
<xs:sequence> 
<xs:element name="status_code" type="xs:integer"/> 
<xs:element name="message" type="xs:string"/> 
<xs:element name="version" type="xs:string"/> 
<xs:element name="timestamp" type="xs:string"/> 
</xs:sequence> 
</xs:complexType> 
</xs:element> 

任何一個誰使用processmaker的網絡服務,請幫助我。我是新人,需要你的幫助。

高級謝謝。

+0

不幸的是你沒有提到有什麼實際的問題; - ) – khlr

+0

如何從loginRequest方法得到響應,我無法得到任何東西。 –

回答

0

您實際上尚未調用該服務。那麼,什麼缺少的是相當於PHP行:$result = $client->__SoapCall('login', $params);

所以你需要實例化一個服務客戶端交工loginRequest

string userId = "1234567892"; 
string password = "123456789"; 
var loginRequest = new loginRequest(userId, password); 

var proxy = new ProcessMakerServiceSoapClient(); 
var loginResult = proxy.loginAsync(loginRequest); 
var result = loginResult.Result; 

proxy.Close(); 
+0

謝謝Khlr,它的工作。要麼它給我狀態代碼3,登錄失敗,但至少我知道如何使用。非常感謝:) –

+0

現在它的工作正常。再次感謝 –