Hello Paul.


After CallUpdateInventory method call,  the mapEntryArray beocomes null. That 
means in ofBiz the mapEntryArray is processed and then after it becomes null in 
ofbiz.



so, after calling CallUpdateInventory  in .net, the value for mapEntryArray is 
null. In ofBiz, i debug the code and found that, the values set in 
mapEntryArray  from c# is retrieved successfully. And after proccessing, the 
ofbiz method returns the required paramaters . But, i did not come to know 
that, then after from where the map becomes null ???



Thanks in advance.



Regards,

Deval

  ----- Original Message ----- 
  From: Paul Foxworthy [via OFBiz] 
  To: devalpatel 
  Sent: Thursday, May 10, 2012 3:55 AM
  Subject: Re: how to use ofBiz service in .Net application?


  Hi Deval, 

  OK. 

  A ref parameter is both an input and an output. 

  Is there anything in the mapEntryArray after you've called the 
CallupdateInventory method? 

  Cheers 

  Paul Foxworthy 


    devalpatel wrote
    Hi  Paul, 

    Thanks for your reply. 

    There is no WSDLException generated. 

    void CallsearchHelloPerson(ref map)  => Here,  the type of map parameter is 
Map (ofBiz  method 's return type Map). 

    I have converted it according to the java Map type : 
    //c# code 
    static mapEntry makeMap(String keyString, String valString) { 

        stdString mapKeyString = new stdString(); 

        stdString mapValString = new stdString(); 

        mapKeyString.value = keyString; 

        mapValString.value = valString; 

        mapKey key = new mapKey(); 

        key.stdString = mapKeyString; 

        mapValue val = new mapValue(); 

        val.Item = mapValString; 

        val.ItemElementName = ItemChoiceType.stdString; 

        mapEntry entry = new mapEntry(); 

        entry.mapKey = key; 

        entry.mapValue = val; 

        return entry; 

      } 


    //c# code for calling ofBiz service CallupdateInventory. 

    mapEntry[] mapEntryArray = new mapEntry[5]; 

    mapEntryArray[0] = makeMap("productId", ofbizProductid); 

    mapEntryArray[1] = makeMap("quantity", ofbizQOH); 

    mapEntryArray[2] = makeMap("status", "Paid"); 

    mapEntryArray[3] = makeMap("login.username", "admin"); 

    mapEntryArray[4] = makeMap("login.password", "ofbiz"); 

    ofBizInventory.CallupdateInventory(ref mapEntryArray); 

    So, the input paramter map passed to ofbiz service is received successfully 
at ofBiz side with all key values set from c# as shown ablve. 

    But, as you know the return of all methods in ofBiz is map so ofBiz returns 
map as result of "CallupdateInventory" api call. 

    In C#, the return type of CallupdateInventory API is void. That also 
mystery for me that why the generated client stub classes in c# are having 
return type void?? And, the actual method name in ofBiz is updateInventory(), 
but in the generated classes of c# there isn't updateInventory method & its 
CallupdateInventory(). 

    Hope, the above details provides more clarity of the problem. 

    Thanks, 

    Deval 

      ----- Original Message ----- 
      From: Paul Foxworthy [via OFBiz] 
      To: devalpatel 
      Sent: Wednesday, May 09, 2012 4:45 AM 
      Subject: Re: how to use ofBiz service in .Net application? 


      Hi Deval, 

      Some of the nulls may not be a problem, if a method takes no parameters 
or returns void. 

      What's the message from the WSDLException? 

      Also, I noticed you mentioned earlier that your proxy in C# has 

      void CallsearchHelloPerson(ref map) 

      What's the type of the map parameter? Is there any value in it after you 
call OFBiz? 

      Cheers 

      Paul Foxworthy 


        devalpatel wrote 
        Hi Paul, 
        
http://localhost:8080/webtools/control/SOAPService/searchHelloPerson?wsdl
        while generating the wsdl by hitting above URL in browser,,, i have 
debug the code in public void getWSDL(Definition def, String locationURI) 
throws WSDLException{} method. 
        *****DEBUG RESULT (i have make BOLD to the null values in below 
result..) 
        
________________________________________________________________________________________
 
        (com.ibm.wsdl.DefinitionImpl) Definition: name=null 
targetNamespace=http://ofbiz.apache.org/service/
        Types: 
        Message: 
name={http://ofbiz.apache.org/service/}searchHelloPersonRequest 
        Part: name=map-Map 
        typeName={http://ofbiz.apache.org/service/}map-Map 
        Message: 
name={http://ofbiz.apache.org/service/}searchHelloPersonResponse 
        Part: name=map-Map 
        typeName={http://ofbiz.apache.org/service/}map-Map 
        PortType: 
name={http://ofbiz.apache.org/service/}searchHelloPersonPortType 
        Operation: name=searchHelloPerson 
        Input: name=null 
        Message: 
name={http://ofbiz.apache.org/service/}searchHelloPersonRequest 
        Part: name=map-Map 
        typeName={http://ofbiz.apache.org/service/}map-Map 
        Output: name=null 
        Message: 
name={http://ofbiz.apache.org/service/}searchHelloPersonResponse 
        Part: name=map-Map 
        typeName={http://ofbiz.apache.org/service/}map-Map 
        Binding: 
name={http://ofbiz.apache.org/service/}searchHelloPersonSoapBinding 
        PortType: 
name={http://ofbiz.apache.org/service/}searchHelloPersonPortType 
        Operation: name=searchHelloPerson 
        Input: name=null 
        Message: 
name={http://ofbiz.apache.org/service/}searchHelloPersonRequest 
        Part: name=map-Map 
        typeName={http://ofbiz.apache.org/service/}map-Map 
        Output: name=null 
        Message: 
name={http://ofbiz.apache.org/service/}searchHelloPersonResponse 
        Part: name=map-Map 
        typeName={http://ofbiz.apache.org/service/}map-Map 
        BindingOperation: name=searchHelloPerson 
        BindingInput: name=null 
        SOAPBody ({http://schemas.xmlsoap.org/wsdl/soap/}body): 
        required=null 
        use=literal 
        encodingStyles={http://schemas.xmlsoap.org/soap/encoding/} 
        namespaceURI=http://ofbiz.apache.org/service/
        BindingOutput: name=null 
        SOAPBody ({http://schemas.xmlsoap.org/wsdl/soap/}body): 
        required=null 
        use=literal 
        encodingStyles={http://schemas.xmlsoap.org/soap/encoding/} 
        namespaceURI=http://ofbiz.apache.org/service/
        SOAPOperation ({http://schemas.xmlsoap.org/wsdl/soap/}operation): 
        required=null 
        soapActionURI=http://localhost:8080/webtools/control/SOAPService
        style=rpc 
        SOAPBinding ({http://schemas.xmlsoap.org/wsdl/soap/}binding): 
        required=null 
        transportURI=http://schemas.xmlsoap.org/soap/http
        style=rpc 
        
________________________________________________________________________________________
 
          
        The generated WSDL is as below : 


        <wsdl:definitions targetNamespace="http://ofbiz.apache.org/service/";>
        − 
        <wsdl:types>
        − 
        <xsd:schema targetNamespace="http://ofbiz.apache.org/service/";>
        − 
        <xsd:element name="std-String">
        − 
        <xsd:complexType>
        <xsd:attribute name="value" type="xsd:string" use="required"/>
        </xsd:complexType>
        </xsd:element>
        − 
        <xsd:element name="std-Integer">
        − 
        <xsd:complexType>
        <xsd:attribute name="value" type="xsd:integer" use="required"/>
        </xsd:complexType>
        </xsd:element>
        − 
        <xsd:element name="std-Long">
        − 
        <xsd:complexType>
        <xsd:attribute name="value" type="xsd:long" use="required"/>
        </xsd:complexType>
        </xsd:element>
        − 
        <xsd:element name="std-Float">
        − 
        <xsd:complexType>
        <xsd:attribute name="value" type="xsd:float" use="required"/>
        </xsd:complexType>
        </xsd:element>
        − 
        <xsd:element name="std-Double">
        − 
        <xsd:complexType>
        <xsd:attribute name="value" type="xsd:double" use="required"/>
        </xsd:complexType>
        </xsd:element>
        − 
        <xsd:element name="std-Boolean">
        − 
        <xsd:complexType>
        <xsd:attribute name="value" type="xsd:boolean" use="required"/>
        </xsd:complexType>
        </xsd:element>
        − 
        <xsd:element name="std-Locale">
        − 
        <xsd:complexType>
        <xsd:attribute name="value" type="xsd:string" use="required"/>
        </xsd:complexType>
        </xsd:element>
        − 
        <xsd:element name="sql-Timestamp">
        − 
        <xsd:complexType>
        <xsd:attribute name="value" type="xsd:dateTime" use="required"/>
        </xsd:complexType>
        </xsd:element>
        − 
        <xsd:element name="sql-Date">
        − 
        <xsd:complexType>
        <xsd:attribute name="value" type="xsd:date" use="required"/>
        </xsd:complexType>
        </xsd:element>
        − 
        <xsd:element name="sql-Time">
        − 
        <xsd:complexType>
        <xsd:attribute name="value" type="xsd:time" use="required"/>
        </xsd:complexType>
        </xsd:element>
        <xsd:element name="col-ArrayList" type="tns:col-Collection"/>
        <xsd:element name="col-LinkedList" type="tns:col-Collection"/>
        <xsd:element name="col-Stack" type="tns:col-Collection"/>
        <xsd:element name="col-Vector" type="tns:col-Collection"/>
        <xsd:element name="col-TreeSet" type="tns:col-Collection"/>
        <xsd:element name="col-HashSet" type="tns:col-Collection"/>
        <xsd:element name="col-Collection" type="tns:col-Collection"/>
        <xsd:element name="map-TreeMap" type="tns:map-Map"/>
        <xsd:element name="map-WeakHashMap" type="tns:map-Map"/>
        <xsd:element name="map-Hashtable" type="tns:map-Map"/>
        <xsd:element name="map-Properties" type="tns:map-Map"/>
        <xsd:element name="map-HashMap" type="tns:map-Map"/>
        <xsd:element name="map-Map" type="tns:map-Map"/>
        <xsd:element name="map-Entry" type="tns:map-Entry"/>
        <xsd:element name="map-Key" type="tns:map-Key"/>
        <xsd:element name="map-Value" type="tns:map-Value"/>
        − 
        <xsd:element name="eepk-" type="tns:map-Map">
        − 
        <xsd:annotation>
        − 
        <xsd:documentation>
        The name of element need to be appended with name of entity such as 
eepk-Product for Product entity. 
        </xsd:documentation>
        </xsd:annotation>
        </xsd:element>
        − 
        <xsd:element name="eeval-" type="tns:map-Map">
        − 
        <xsd:annotation>
        − 
        <xsd:documentation>
        The name of element need to be appended with name of entity such as 
eeval-Product for Product entity. 
        </xsd:documentation>
        </xsd:annotation>
        </xsd:element>
        − 
        <xsd:element name="cus-obj">
        − 
        <xsd:annotation>
        − 
        <xsd:documentation>
        Object content need to be in CDATA such as <cus-obj></cus-obj>
        </xsd:documentation>
        </xsd:annotation>
        </xsd:element>
        − 
        <xsd:complexType name="map-Map">
        − 
        <xsd:sequence>
        <xsd:element maxOccurs="unbounded" minOccurs="0" ref="tns:map-Entry"/>
        </xsd:sequence>
        </xsd:complexType>
        − 
        <xsd:complexType name="map-Entry">
        − 
        <xsd:sequence>
        <xsd:element maxOccurs="1" minOccurs="1" ref="tns:map-Key"/>
        <xsd:element maxOccurs="1" minOccurs="1" ref="tns:map-Value"/>
        </xsd:sequence>
        </xsd:complexType>
        − 
        <xsd:complexType name="map-Key">
        − 
        <xsd:all>
        <xsd:element maxOccurs="1" minOccurs="1" ref="tns:std-String"/>
        </xsd:all>
        </xsd:complexType>
        − 
        <xsd:complexType name="map-Value">
        − 
        <xsd:choice>
        <xsd:element maxOccurs="1" minOccurs="1" ref="tns:std-String"/>
        <xsd:element maxOccurs="1" minOccurs="1" ref="tns:std-Integer"/>
        <xsd:element maxOccurs="1" minOccurs="1" ref="tns:std-Long"/>
        <xsd:element maxOccurs="1" minOccurs="1" ref="tns:std-Float"/>
        <xsd:element maxOccurs="1" minOccurs="1" ref="tns:std-Double"/>
        <xsd:element maxOccurs="1" minOccurs="1" ref="tns:std-Boolean"/>
        <xsd:element maxOccurs="1" minOccurs="1" ref="tns:std-Locale"/>
        <xsd:element maxOccurs="1" minOccurs="1" ref="tns:sql-Timestamp"/>
        <xsd:element maxOccurs="1" minOccurs="1" ref="tns:sql-Date"/>
        <xsd:element maxOccurs="1" minOccurs="1" ref="tns:sql-Time"/>
        <xsd:element maxOccurs="1" minOccurs="1" ref="tns:col-ArrayList"/>
        <xsd:element maxOccurs="1" minOccurs="1" ref="tns:col-LinkedList"/>
        <xsd:element maxOccurs="1" minOccurs="1" ref="tns:col-Stack"/>
        <xsd:element maxOccurs="1" minOccurs="1" ref="tns:col-Vector"/>
        <xsd:element maxOccurs="1" minOccurs="1" ref="tns:col-TreeSet"/>
        <xsd:element maxOccurs="1" minOccurs="1" ref="tns:col-HashSet"/>
        <xsd:element maxOccurs="1" minOccurs="1" ref="tns:col-Collection"/>
        <xsd:element maxOccurs="1" minOccurs="1" ref="tns:map-HashMap"/>
        <xsd:element maxOccurs="1" minOccurs="1" ref="tns:map-Properties"/>
        <xsd:element maxOccurs="1" minOccurs="1" ref="tns:map-Hashtable"/>
        <xsd:element maxOccurs="1" minOccurs="1" ref="tns:map-WeakHashMap"/>
        <xsd:element maxOccurs="1" minOccurs="1" ref="tns:map-TreeMap"/>
        <xsd:element maxOccurs="1" minOccurs="1" ref="tns:map-Map"/>
        <xsd:element maxOccurs="1" minOccurs="1" ref="tns:eepk-"/>
        <xsd:element maxOccurs="1" minOccurs="1" ref="tns:eeval-"/>
        </xsd:choice>
        </xsd:complexType>
        − 
        <xsd:complexType name="col-Collection">
        − 
        <xsd:choice>
        <xsd:element maxOccurs="unbounded" minOccurs="0" ref="tns:std-String"/>
        <xsd:element maxOccurs="unbounded" minOccurs="0" ref="tns:std-Integer"/>
        <xsd:element maxOccurs="unbounded" minOccurs="0" ref="tns:std-Long"/>
        <xsd:element maxOccurs="unbounded" minOccurs="0" ref="tns:std-Float"/>
        <xsd:element maxOccurs="unbounded" minOccurs="0" ref="tns:std-Double"/>
        <xsd:element maxOccurs="unbounded" minOccurs="0" ref="tns:std-Boolean"/>
        <xsd:element maxOccurs="unbounded" minOccurs="0" ref="tns:std-Locale"/>
        <xsd:element maxOccurs="unbounded" minOccurs="0" 
ref="tns:sql-Timestamp"/>
        <xsd:element maxOccurs="unbounded" minOccurs="0" ref="tns:sql-Date"/>
        <xsd:element maxOccurs="unbounded" minOccurs="0" ref="tns:sql-Time"/>
        <xsd:element maxOccurs="unbounded" minOccurs="0" 
ref="tns:col-ArrayList"/>
        <xsd:element maxOccurs="unbounded" minOccurs="0" 
ref="tns:col-LinkedList"/>
        <xsd:element maxOccurs="unbounded" minOccurs="0" ref="tns:col-Stack"/>
        <xsd:element maxOccurs="unbounded" minOccurs="0" ref="tns:col-Vector"/>
        <xsd:element maxOccurs="unbounded" minOccurs="0" ref="tns:col-TreeSet"/>
        <xsd:element maxOccurs="unbounded" minOccurs="0" ref="tns:col-HashSet"/>
        <xsd:element maxOccurs="unbounded" minOccurs="0" 
ref="tns:col-Collection"/>
        <xsd:element maxOccurs="unbounded" minOccurs="0" ref="tns:map-HashMap"/>
        <xsd:element maxOccurs="unbounded" minOccurs="0" 
ref="tns:map-Properties"/>
        <xsd:element maxOccurs="unbounded" minOccurs="0" 
ref="tns:map-Hashtable"/>
        <xsd:element maxOccurs="unbounded" minOccurs="0" 
ref="tns:map-WeakHashMap"/>
        <xsd:element maxOccurs="unbounded" minOccurs="0" ref="tns:map-TreeMap"/>
        <xsd:element maxOccurs="unbounded" minOccurs="0" ref="tns:map-Map"/>
        <xsd:element maxOccurs="unbounded" minOccurs="0" ref="tns:eepk-"/>
        <xsd:element maxOccurs="unbounded" minOccurs="0" ref="tns:eeval-"/>
        </xsd:choice>
        </xsd:complexType>
        </xsd:schema>
        </wsdl:types>
        − 
        <wsdl:message name="searchHelloPersonRequest">
        − 
        <wsdl:part name="map-Map" type="tns:map-Map">
        − 
        <wsdl:documentation>
        <attribute java-class="String" name="helloPersonId" 
namespace="http://ofbiz.apache.org/service/"; optional="true" type="std-String"/>
        <attribute java-class="java.lang.String" name="login.username" 
namespace="http://ofbiz.apache.org/service/"; optional="true" type="std-String"/>
        <attribute java-class="java.lang.String" name="login.password" 
namespace="http://ofbiz.apache.org/service/"; optional="true" type="std-String"/>
        </wsdl:documentation>
        </wsdl:part>
        </wsdl:message>
        − 
        <wsdl:message name="searchHelloPersonResponse">
        − 
        <wsdl:part name="map-Map" type="tns:map-Map">
        − 
        <wsdl:documentation>
        <attribute java-class="Map" name="name" 
namespace="http://ofbiz.apache.org/service/"; optional="true" type="eeval-"/>
        </wsdl:documentation>
        </wsdl:part>
        </wsdl:message>
        − 
        <wsdl:portType name="searchHelloPersonPortType">
        − 
        <wsdl:operation name="searchHelloPerson">
        <wsdl:input message="tns:searchHelloPersonRequest"/>
        <wsdl:output message="tns:searchHelloPersonResponse"/>
        </wsdl:operation>
        </wsdl:portType>
        − 
        <wsdl:binding name="searchHelloPersonSoapBinding" 
type="tns:searchHelloPersonPortType">
        <soap:binding style="rpc" 
transport="http://schemas.xmlsoap.org/soap/http"/>
        − 
        <wsdl:operation name="searchHelloPerson">
        <soap:operation 
soapAction="http://localhost:8080/webtools/control/SOAPService"; style="rpc"/>
        − 
        <wsdl:input>
        <soap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"; 
namespace="http://ofbiz.apache.org/service/"; use="literal"/>
        </wsdl:input>
        − 
        <wsdl:output>
        <soap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"; 
namespace="http://ofbiz.apache.org/service/"; use="literal"/>
        </wsdl:output>
        </wsdl:operation>
        </wsdl:binding>
        − 
        <wsdl:service name="searchHelloPerson">
        − 
        <wsdl:port binding="tns:searchHelloPersonSoapBinding" 
name="searchHelloPersonPort">
        <soap:address 
location="http://localhost:8080/webtools/control/SOAPService"/>
        </wsdl:port>
        </wsdl:service>
        </wsdl:definitions>

        So, is there any problem in WSDL generation or generated WSDL  or any 
changes reauired in ofbiz ModelService.java???? 
      -- 
      Coherent Software Australia Pty Ltd 
      http://www.cohsoft.com.au/

      Bonsai ERP, the all-inclusive ERP system 
      http://www.bonsaierp.com.au/




    
------------------------------------------------------------------------------ 

      If you reply to this email, your message will be added to the discussion 
below: 
      
http://ofbiz.135035.n4.nabble.com/Re-how-to-use-ofBiz-service-in-Net-application-tp4580144p4619013.html
  
      To unsubscribe from Re: how to use ofBiz service in .Net application?, 
click here. 
      NAML 
  -- 
  Coherent Software Australia Pty Ltd 
  http://www.cohsoft.com.au/

  Bonsai ERP, the all-inclusive ERP system 
  http://www.bonsaierp.com.au/




------------------------------------------------------------------------------

  If you reply to this email, your message will be added to the discussion 
below:
  
http://ofbiz.135035.n4.nabble.com/Re-how-to-use-ofBiz-service-in-Net-application-tp4580144p4621981.html
 
  To unsubscribe from Re: how to use ofBiz service in .Net application?, click 
here.
  NAML

--
View this message in context: 
http://ofbiz.135035.n4.nabble.com/Re-how-to-use-ofBiz-service-in-Net-application-tp4580144p4622512.html
Sent from the OFBiz - User mailing list archive at Nabble.com.

Reply via email to