I'm trying to integrate a SAPBW connection into my .net website using a SAPBW xml/a adapter. (I've added a web reference to this so I have a .wdsl).
I've basically followed the steps mentioned here:
http://drowningintechnicaldebt.com/.../06/14/using-xml-a-and-c-to-query-sap-bw.aspx
However, I'm stuck with step 3 which shows how to implement the solution for an application rather then a website so it talks about modify the generated webservice proxy??
"Step 3: Modify the WebService Proxy Class, When .NET generates the proxy class it declares the Execute Mehtod with two arguments the ExecuteCommand and a PropertiesType. The PropertiesType is a base class for the DiscoverProperties object, but has no properties. To fix this we actually want to pass a DiscoverProperties object to the Execute Method. While this compiles fine the XML serializer has a problem serializing the request. To fix this add "[XmlElement(typeof(DiscoverProperties))]" before the PropertiesType argument in the Execute Methods Signature. It should look like this "public System.Xml.XmlElement Execute([System.Xml.Serialization.XmlElementAttribute(IsNullable=true)] ExecuteCommand Command, [XmlElement(typeof(DiscoverProperties))]PropertiesType Properties) {"
"
How do I make this sort of change in a .net website. Do I need to modify the webreference wdsl file?
Any help would be very much appreciated because I can't seem to get over this... (please find my code below).
I've basically followed the steps mentioned here:
http://drowningintechnicaldebt.com/.../06/14/using-xml-a-and-c-to-query-sap-bw.aspx
However, I'm stuck with step 3 which shows how to implement the solution for an application rather then a website so it talks about modify the generated webservice proxy??
"Step 3: Modify the WebService Proxy Class, When .NET generates the proxy class it declares the Execute Mehtod with two arguments the ExecuteCommand and a PropertiesType. The PropertiesType is a base class for the DiscoverProperties object, but has no properties. To fix this we actually want to pass a DiscoverProperties object to the Execute Method. While this compiles fine the XML serializer has a problem serializing the request. To fix this add "[XmlElement(typeof(DiscoverProperties))]" before the PropertiesType argument in the Execute Methods Signature. It should look like this "public System.Xml.XmlElement Execute([System.Xml.Serialization.XmlElementAttribute(IsNullable=true)] ExecuteCommand Command, [XmlElement(typeof(DiscoverProperties))]PropertiesType Properties) {"
"
How do I make this sort of change in a .net website. Do I need to modify the webreference wdsl file?
Any help would be very much appreciated because I can't seem to get over this... (please find my code below).