2013-10-01 68 views
0

因此,如果我做錯了任何事情,我都會忍受。 我一直在試圖更新從C#在導航的一些數據,但我無論做什麼我得到的錯誤:NAV Web Service如何通過C#更新數據?

我的代碼單元看起來是這樣的,這是我的方法,我需要使用更新:

<operation name="OpdaterVogn"> 
    <operation soapAction="urn:microsoft-dynamics-schemas/codeunit/BMG:OpdaterVogn"style="document"/> 
    <input name="OpdaterVogn"> 
    <body use="literal"/> 
    </input> 
    <output name="OpdaterVogn_Result"> 
    <body use="literal"/> 
    </output> 
</operation> 

生病顯示ü我的對象我得到通過我codeunit藏漢通過:

<schema elementFormDefault="qualified" targetNamespace="urn:microsoft-dynamics-nav/xmlports/x78001"> 
    <complexType name="VognType"> 
    <sequence> 
     <element minOccurs="1" maxOccurs="1" name="Kode" type="string"/> 
     <element minOccurs="1" maxOccurs="1" name="RegNr" type="string"/> 
     <element minOccurs="1" maxOccurs="1" name="Beskrivelse" type="string"/> 
     <element minOccurs="1" maxOccurs="1" default="false" name="Spaerret" type="boolean"/> 
    </sequence> 
    </complexType> 
    <complexType name="Vogn" mixed="true"> 
    <sequence> 
     <element minOccurs="1" maxOccurs="unbounded" name="Vogn" type="tns:VognType"/> 
    </sequence> 
    </complexType> 
    <element name="Vogn" type="tns:Vogn"/> 
</schema> 

無論如何,移動到C#,我可以得到的數據到C#和審查。現在我想用該方法更新「vogn」。

此刻我的代碼如下所示:

 BMGWS ws = new BMGWS(); 
     Vogn vogne = new Vogn(); 
     VognType vogn = new VognType(); 
     ws.UseDefaultCredentials = true; 

     ws.SendVogn("BMG 2013", false, ref vogne); 

     vogn = vogne.Vogn1[0]; 
     string kode = vogn.Kode; 
     string beskrivelse = vogn.Beskrivelse; 
     string regnr = vogn.RegNr; 
     bool spaerret = vogn.Spaerret; 

     Vogn vogneNy = new Vogn(); 
     VognType vognNy = new VognType(); 
     vognNy.Kode = kode; // string value to update 
     vognNy.Beskrivelse = beskrivelse; // string value to update 
     vognNy.RegNr = regnr; // string value to update 
     vognNy.Spaerret = spaerret; // Bool value to update 

     List<VognType> list = new List<VognType>(); 
     list.Add(vognNy); 
     vogneNy.Vogn1 = list.ToArray(); 
     vogneNy.Vogn1[0] = vognNy; 


     ws.OpdaterVogn("BMG 2013", vogneNy); 

我的最後一個方法不會工作,我得到以下錯誤:

{「元素<Kode>由閔預期發生值:一次。元接收:<>「}

希望你們能幫助我在這裏...

回答

相關問題