[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