AXで新しいSales Orderを作成するASP.NET MVC 3アプリケーションのWebサービスがあります。 AXでは、今のところ1つのメソッドを持つOnlineOrderクラスを作成しました。これは、販売参照を生成することです。以下は私のWebサービスのコードです:Axapta.CreateAxaptaObject()を動作させることができません
public AxaptaObject order;
public void CreateOrder()
{
AxaptaStart();
order = Axapta.CreateAxaptaObject("OnlineOrder");
AxaptaStop();
}
public string GetSalesRef(string username, string delivery, string reference)
{
AxaptaStart();
string number = order.Call("orderCreate", username, delivery, reference).ToString();
AxaptaStop();
return number;
}
はその後、私のコントローラで私はこれらのメソッドを呼び出します。
client.CreateOrder();
string number = client.GetSalesRef(user.Username, order.deliverymethod, order.custorder).ToString();
これは動作しませんし、表示する例外情報、そのわずかブランクはありませんメッセージ。 order
AxaptaObjectはタイプOnlineOrder
ではないので、それらのメソッドを呼び出すことはできません。 orderCreate
メソッドを使用するオブジェクトをインスタンス化するにはどうすればよいですか?
EDIT:
私が行う場合:
public string CreateOrder(string username, string delivery, string reference)
{
AxaptaStart();
order = Axapta.CreateAxaptaObject("OnlineOrder");
string number = order.Call("orderCreate", username, delivery, reference).ToString();
AxaptaStop();
return number;
}
これは動作しますが、これは、私は将来、私には私のOnlineOrderオブジェクトに複数のメソッドを追加したいと有効な解決策ではありません私のWebサービス上で1つのメソッドでそれらをすべて呼びたくないのですが
しかし、これは私のwebservice wouldntのすべての1つのメソッドにもこれを必要とするでしょうか?どのように私は別のメソッドで同じ "オーダー"オブジェクトを使用するでしょうか? – CallumVass
いいえ、そうではありません。 'order'オブジェクトは、この例のようにラッパーメソッドから返される(またはメンバ変数に保存されます)。 COMへのすべての呼び出しは、醜い詳細を隠すラッパークラスに隠されています。また、呼び出し元のコードがnice(r)に見えるようにします。 –