お世話になります。
C#から「サイボウズ Office」連携APIサービスを利用するために
Visual Studio Express 2013にて
「サイボウズ Office」連携APIサービスのWSDLへの
サービス参照を追加して、Reference.csが自動生成しました。
しかし、自動生成されたReference.csの使用方法が良くわからず
困っています。
手探りで自動生成されたReference.cs内に
APIマニュアルにあるユーザー情報を取得する処理と
同じ名前のメソッドがあったので
以下のように呼び出してみましたが、例外が発生してしまいました。
どなたか正しいサービス呼出の仕方やサンプルコードなどを
ご存知の方いらっしゃいましたら、ご教授願えませんでしょうか?
---------------------------------- API呼出処理抜粋ここから
string[] para = { “ユーザーのログイン名” };
var client = new CybozuService.BasePortClient(); // CybozuServiceはサービス参照追加時に指定した名前空間
var ret = client.BaseGetUsersByLoginName(para);
---------------------------------- API呼出処理抜粋ここまで
---------------------------------- 例外内容ここから
iisexpress.exe Error: 0 : 2017/09/21 13:43:13 : System.InvalidOperationException: ‘parameters’ を反映中にエラーが発生しました。 —> System.InvalidOperationException: 名前空間 ‘’ の最上位の XML 要素 ‘parameters’ が、明示型である Example.CybozuService.ItemVersionType[] および Example.CybozuService.BaseGetFrequentUsersRequestType を参照しています。XML 属性を使用して、この要素または型の代わりとなる別の XML 名または名前空間を指定してください。
場所 System.Xml.Serialization.XmlReflectionImporter.ReconcileAccessor(Accessor accessor, NameTable accessors)
場所 System.Xml.Serialization.XmlReflectionImporter.ReconcileLocalAccessor(ElementAccessor accessor, String ns)
場所 System.Xml.Serialization.XmlReflectionImporter.ImportAccessorMapping(MemberMapping accessor, FieldModel model, XmlAttributes a, String ns, Type choiceIdentifierType, Boolean rpc, Boolean openModel, RecursionLimiter limiter)
場所 System.Xml.Serialization.XmlReflectionImporter.ImportMemberMapping(XmlReflectionMember xmlReflectionMember, String ns, XmlReflectionMember[] xmlReflectionMembers, Boolean rpc, Boolean openModel, RecursionLimiter limiter)
場所 System.Xml.Serialization.XmlReflectionImporter.ImportMembersMapping(XmlReflectionMember[] xmlReflectionMembers, String ns, Boolean hasWrapperElement, Boolean rpc, Boolean openModel, RecursionLimiter limiter)
— 内部例外スタック トレースの終わり —
場所 System.Xml.Serialization.XmlReflectionImporter.ImportMembersMapping(XmlReflectionMember[] xmlReflectionMembers, String ns, Boolean hasWrapperElement, Boolean rpc, Boolean openModel, RecursionLimiter limiter)
場所 System.Xml.Serialization.XmlReflectionImporter.ImportMembersMapping(String elementName, String ns, XmlReflectionMember[] members, Boolean hasWrapperElement, Boolean rpc, Boolean openModel, XmlMappingAccess access)
場所 System.ServiceModel.Description.XmlSerializerOperationBehavior.Reflector.XmlSerializerImporter.ImportMembersMapping(XmlName elementName, String ns, XmlReflectionMember[] members, Boolean hasWrapperElement, Boolean rpc, Boolean isEncoded, String mappingKey)
場所 System.ServiceModel.Description.XmlSerializerOperationBehavior.Reflector.OperationReflector.ImportMembersMapping(String elementName, String ns, XmlReflectionMember[] members, Boolean hasWrapperElement, Boolean rpc, String mappingKey)
場所 System.ServiceModel.Description.XmlSerializerOperationBehavior.Reflector.OperationReflector.LoadBodyMapping(MessageDescription message, String mappingKey, MessagePartDescriptionCollection& rpcEncodedTypedMessageBodyParts)
場所 System.ServiceModel.Description.XmlSerializerOperationBehavior.Reflector.OperationReflector.CreateMessageInfo(MessageDescription message, String key)
場所 System.ServiceModel.Description.XmlSerializerOperationBehavior.Reflector.OperationReflector.EnsureMessageInfos()
場所 System.ServiceModel.Description.XmlSerializerOperationBehavior.Reflector.EnsureMessageInfos()
場所 System.ServiceModel.Description.XmlSerializerOperationBehavior.CreateFormatter()
場所 System.ServiceModel.Description.XmlSerializerOperationBehavior.System.ServiceModel.Description.IOperationBehavior.ApplyClientBehavior(OperationDescription description, ClientOperation proxy)
場所 System.ServiceModel.Description.DispatcherBuilder.BindOperations(ContractDescription contract, ClientRuntime proxy, DispatchRuntime dispatch)
場所 System.ServiceModel.Description.DispatcherBuilder.ApplyClientBehavior(ServiceEndpoint serviceEndpoint, ClientRuntime clientRuntime)
場所 System.ServiceModel.Description.DispatcherBuilder.BuildProxyBehavior(ServiceEndpoint serviceEndpoint, BindingParameterCollection& parameters)
場所 System.ServiceModel.Channels.ServiceChannelFactory.BuildChannelFactory(ServiceEndpoint serviceEndpoint, Boolean useActiveAutoClose)
場所 System.ServiceModel.ChannelFactory.CreateFactory()
場所 System.ServiceModel.ChannelFactory.OnOpening()
場所 System.ServiceModel.Channels.CommunicationObject.Open(TimeSpan timeout)
場所 System.ServiceModel.ChannelFactory.EnsureOpened()
場所 System.ServiceModel.ChannelFactory1.CreateChannel(EndpointAddress address, Uri via) 場所 System.ServiceModel.ChannelFactory
1.CreateChannel()
場所 System.ServiceModel.ClientBase1.CreateChannel() 場所 System.ServiceModel.ClientBase
1.CreateChannelInternal()
場所 System.ServiceModel.ClientBase`1.get_Channel()
場所 Example.CybozuService.BasePortClient.Example.CybozuService.BasePort.BaseGetUsersByLoginName(BaseGetUsersByLoginNameRequest request) 場所 c:\DATA\20170701us\Example\Service References\CybozuService\Reference.cs:行 31730
場所 Example.CybozuService.BasePortClient.BaseGetUsersByLoginName(String[] parameters) 場所 c:\DATA\20170701us\Example\Service References\CybozuService\Reference.cs:行 31736
---------------------------------- 例外内容ここまで
おそらく以下のサイトで紹介されているガルーンAPIを使用する際と同様に
Reference.csを、修正する必要があるのかと予想しておりますが
Reference.csの仕組みがよくわからず
どのように修正したらよいのかわかりませんでした。
http://qiita.com/HAGITAKO/items/b684f4e31552e5a5db69
以上、よろしくお願いいたします。