我正在編寫一個應用程序來使用SOAP服務。工作流程是這樣的:SOAP服務客戶端,「無更新」
爲了拉從SOAP服務器(請求),可與變化SOAP服務器 POST請求/響應(響應順序)從服務器 請求PO變更(要求變更訂單)
第三方服務器已經爲我們建立了測試環境。第一件事 我想要做的是請求並從服務器下載訂單。但似乎問題是,我只能下載/拉每個應用程序的訂單一次。第一次請求訂單後,我將得到異常:「System.Web.Services.Protocols.SoapException:無訂單更新」。如果我創建另一個應用程序做同樣的事情,它將能夠再次請求訂單,但只能一次。有沒有我可以設置/配置的地方,這樣我的應用程序就可以下訂單,而不管它是否是新訂單,還是與服務器端有關?
測試代碼,我拉順序:
/// <summary>
/// Used by supplier to check Order
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void btnRequestPO_Click(object sender, EventArgs e)
{
string t_return;
SupplierServices supplierServices = new SupplierServices();
LoginDetails lgDetails = new LoginDetails();
lgDetails.UserName = "user";
lgDetails.Password = "password";
supplierServices.LoginDetailsValue = lgDetails;
RequestPurchaseOrder requestPO = new RequestPurchaseOrder();
requestPO.SupplierCode = "1234";
try
{
Order returned_order = supplierServices.SupplierRequestPO(requestPO);
if (returned_order != null)
{
t_return = returned_order.ToString();
MessageBox.Show(t_return);
}
else
MessageBox.Show("Returned order is empty!");
}
catch (Exception ex)
{
String responseFromServer = ex.Message.ToString() + " ";
if (ex!= null)
{
MessageBox.Show(responseFromServer);
}
}
一些注意事項:`ex.Message`已經是一個字符串,所以你不需要`ToString`。如果`ex == null`,那麼你將在前一行拋出`NullReferenceException`,所以你不需要檢查`ex!= null`。你也不應該使用`ex.Message` - 如果你需要了解這個異常,那麼你想`ex.ToString()`向你展示一切。 – 2010-11-22 23:46:09