| Author |
Return schema from webservice-references port
|
|
|
| I call this webservice-references-port from Biztalk's Orchestration.
But I want return like "Master-Detail" schema, a [root] include many
[InvoiceDetail],
like this:
<root>
<InvoiceNumber>xxx</InvoiceNumber>
<ConfirmTime>xxx</ConfirmTime>
<InvoiceDetail>
<ConfirmQty>xx</ConfirmQty>
<ConfirmMessage>xx</ConfirmMessage>
</InvoiceDetail>
<InvoiceDetail>
<ConfirmQty>xx</ConfirmQty>
<ConfirmMessage>xx</ConfirmMessage>
</InvoiceDetail>
<InvoiceDetail>
<ConfirmQty>xx</ConfirmQty>
<ConfirmMessage>xx</ConfirmMessage>
</InvoiceDetail>
<root>
This is my asmx.cs:
// Inbound Schema
[System.Xml.Serialization.XmlTypeAttribute(Namespace="http://callws.InboundPO")]
[System.Xml.Serialization.XmlRootAttribute(Namespace="http://callws.InboundPO",
IsNullable=false)]
public class InboundPO
{
[System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
public string po_date;
[System.Xml.Serialization.XmlElementAttribute("PO",
Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
public PODetail[] PO;
}
[System.Xml.Serialization.XmlTypeAttribute(Namespace="http://callws.InboundPO")]
public class PODetail
{
[System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
public string pno;
[System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
public string pname;
[System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
public int pqty;
[System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
public int pprice;
}
// Outbound Schema
[System.Xml.Serialization.XmlTypeAttribute(Namespace="http://callws.InboundPO")]
[System.Xml.Serialization.XmlRootAttribute(Namespace="http://callws.InboundPO",
IsNullable=false)]
public class ReturnInvoiceRoot
{
[System.Xml.Serialization.XmlElementAttribute()]
public string InvoiceNumber;
[System.Xml.Serialization.XmlElementAttribute()]
public string ConfirmTime;
[System.Xml.Serialization.XmlElementAttribute("InvoiceDetail",
Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
public InvoiceDetailItem[] InvoiceDetail;
}
[System.Xml.Serialization.XmlTypeAttribute(Namespace="http://callws.InboundPO")]
public class InvoiceDetailItem
{
[System.Xml.Serialization.XmlElementAttribute()]
public int ConfirmQty;
[System.Xml.Serialization.XmlElementAttribute()]
public string ConfirmMessage;
}
[WebMethod]
public ReturnInvoiceRoot submitPO (InboundPO PODocument)
{
ReturnInvoiceRoot inDM = new ReturnInvoiceRoot();
inDM.InvoiceNumber = PODocument.po_date.ToString();
string tt = DateTime.Now.ToString();
inDM.ConfirmTime = tt;
inDM.InvoiceDetail[0].ConfirmQty = PODocument.PO[0].pqty;
inDM.InvoiceDetail[0].ConfirmMessage =
PODocument.PO[0].pname.ToString();
return inDM;
}
But I get error message in HAT:
ServiceInstance/ErrorInfo
How can I get the outbound-Schema data from Inbound-Schema data?
Thank you for your Advance!!
David
| |
|
| It worked after I add this line // :
// inDM.InvoiceDetail[0].ConfirmQty = PODocument.PO[0].pqty;
//
inDM.InvoiceDetail[0].ConfirmMessage=PODocument.PO[0].pname.ToString();
I guess something wrong in:
inDM.InvoiceDetail[0].ConfirmQty
But I do not know how to correct it...
how can I insert data into sub-class?
><
David
| |
|
| It worked after I add this line // :
//inDM.InvoiceDetail[0].ConfirmQty = PODocument.PO[0].pqty;
//inDM.InvoiceDetail[0].ConfirmMessage=PODocument.PO[0].pname.ToString();
I guess something wrong in:
inDM.InvoiceDetail[0].ConfirmQty
But I do not know how to correct it...
how can I insert data into sub-class?
><
David
| |
|
| It worked after I add this line // :
//inDM.InvoiceDetail[0].ConfirmQty = PODocument.PO[0].pqty;
//inDM.InvoiceDetail[0].ConfirmMessage=PODocument.PO[0].pname.ToString();
I guess something wrong in:
inDM.InvoiceDetail[0].ConfirmQty
But I do not know how to correct it...
how can I insert data into sub-class?
><
David
|
|
|
|