[omniORB] omniorb_py and trading service

Bernd Winterstein bernd.winterstein at vodafone.com
Thu Jun 26 16:40:07 BST 2003


That's it Thanks ;-)

baileyk at schneider.com wrote:

>Try
>
>desiredProps = CosTrading.Lookup.SpecifiedProps(
>                  CosTrading.Lookup.all, None)
>
>I have no experience with the Trading service, but a union's constructor
>expects the discriminant first, and the value second.  The SpecifiedProps
>union only requires a value if the discriminant takes one the "some"
>enumerated value.  The "none" or "all" discriminants require a None union
>value.
>
>The rest looks OK to me as far as parameter types go.  I think you'll want
>to capture the return value of the query method variables like so:
>
>offers, offer_iter, limits_applied = lookup.query("ExampleService",
>                                           "TRUE", "", policies,
>                                           desiredProps, 100 )
>
>The return value of query() is a tuple of three (the three out params).
>Python will unpack that tuple into three named variables if you use syntax
>like the above.
>
>hth
>
>Kendall
>
>
>
>
>
>                                                                                                                                         
>                      Bernd Winterstein                                                                                                  
>                      <bernd.winterstein at vodafone.c        To:       omniorb-list <omniorb-list at omniorb-support.com>                     
>                      om>                                  cc:                                                                           
>                      Sent by:                             Fax to:                                                                       
>                      omniorb-list-bounces at omniorb-        Subject:  Re: [omniORB] omniorb_py and trading service                        
>                      support.com                                                                                                        
>                                                                                                                                         
>                                                                                                                                         
>                      06/26/2003 08:04 AM                                                                                                
>                      Please respond to                                                                                                  
>                      bernd.winterstein                                                                                                  
>                                                                                                                                         
>                                                                                                                                         
>
>
>
>
>Okay Thanks Duncan.
>I'm pretty new to python. I'm trying to write a test driver for an C++
>appliction in python. Maybe anyone can help me with this problem
>accessing the TradingService. I don't get the right parametrs to call
>the query function.
>
>Here is the idl:
>
>                void query (
>                        in ServiceTypeName type,
>                        in Constraint constr,
>                        in Preference pref,
>                        in PolicySeq policies,
>                        in SpecifiedProps desired_props,
>                        in unsigned long how_many,
>                        out OfferSeq offers,
>                        out OfferIterator offer_itr,
>                        out PolicyNameSeq limits_applied
>                ) raises (...)
>
>Here is what I try:
>
>policies = []
>policies.append( CosTrading.Policy("","") )
>desiredProps = CosTrading.Lookup.SpecifiedProps(
>CosTrading.Lookup.HowManyProps, CosTrading.Lookup.all)
>lookup.query("ExampleService", "TRUE", "", policies, desiredProps, 100 )
>
>
>Thats what I get:
>Traceback (most recent call last):
>  File "./ExampleClient.py", line 57, in ?
>    lookup.query("ExampleService", "TRUE", "", policies, desiredProps, 100
>)
>  File
>"/home/tesp/bwinters/ld/omniorb_py/lib/python2.2/site-packages/omniORB/COS/CosTrading_idl.py",
>
>line 906, in query
>    return _omnipy.invoke(self, "query", _0_CosTrading.Lookup._d_query,
>args)
>omniORB.CORBA.BAD_PARAM: Minor: BAD_PARAM_WrongPythonType, COMPLETED_NO.
>
>:-(
>
>Any ideas?
>
>Duncan Grisby wrote:
>
>  
>
>>On Thursday 26 June, Bernd Winterstein wrote:
>>
>>
>>
>>    
>>
>>>I have a problem accessing the TradingService from python. Maybe anyone
>>>has a good idea.
>>>
>>>
>>>      
>>>
>>[...]
>>
>>
>>    
>>
>>>lookup.query("ExampleService", "TRUE", "", policies, desiredProps, 1,
>>>offers, iterator, appliedPolicies )
>>>
>>>
>>>      
>>>
>>[...]
>>
>>
>>    
>>
>>>TypeError: Operation requires 6 arguments; 9 given
>>>
>>>
>>>      
>>>
>>You're calling query() with the wrong number of arguments, just like
>>it says. IDL out arguments are represented as extra returns values in
>>a tuple, not as parameters.
>>
>>Cheers,
>>
>>Duncan.
>>
>>
>>
>>    
>>
>
>_______________________________________________
>omniORB-list mailing list
>omniORB-list at omniorb-support.com
>http://www.omniorb-support.com/mailman/listinfo/omniorb-list
>
>
>
>
>
>  
>



More information about the omniORB-list mailing list