I'm trying to do simple application consuming SAP web service. I ave WSDL link via SOAPMANAGER which I added to project as web reference, and C# created complex type which includes RFC import/export parameters and tables. If I want to call web services method I send all my values in a variable of complex type and returned values also has t开发者_如何学编程he same type.
But returned tables are initial.
However, with WSDL link received from wsconfig/wsadmin in another system (RFC is the same), C# didn't create any complex type but simple types for each RFC parameter and the values are returned correctly.
Why SOAPMANAGER and wsconfig create different WSDLs? How to solve this problem?
Any tips or tricks?
As already mentioned, wsconfig and wsadmin is considered deprecated, so you should always use the soamanager transaction. When you open the WSDL for a web service in soamanager, you will see it in a new browser window. In it's address location bar (say: the URL) you see somewhere at the end a "../ws_policy/.." -- try to replace this to "../standard/.." and reload the WSDL with this new address, then use this new/other WSDL for your client program.
Does this help?
Are both systems on the same release level? With newer releases, there could be changes in the WSDL generation mechanism. So wsconfig / wsadmin
is considered deprecated and you should use soamanager
if available.
精彩评论