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

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

Reply via email to