0

Concur でユーザーを作成しようとしています。この投稿を参照して、Xml 形式を取得しました。

これは http POST リクエスト (POSTMAN を使用) です。

リクエスト

POST https://www.concursolutions.com/api/user/v1.0/users HTTP/1.1
Authorization: OAuth 0_xxxxxxxtoF3bsxxxBrNwzxxxx=
Accept: application/xml
Content-Type: application/xml; charset=utf-8
Host: www.concursolutions.com
Content-Length: 227
Expect: 100-continue

<Batch xmlns='http://www.concursolutions.com/api/user/2011/02'><UserProfile><EmpId>E0005</EmpId><FeedRecordNumber>1</FeedRecordNumber><LoginId>myuser1@mycompany.com</LoginId><Password>myP@@sword</Password></UserProfile></Batch>

応答

000000B2 <Error><Message>batch element is missing. Please check your
request.</Message><Server-Time>2016-03-28T19:34:02</Server-Time><Id>XXXXXXXX-AACE-4A49-8EE6-669EF3XXXXX</Id></Error>
00000000

「バッチ」要素が欠落していると不平を言っているのに、明らかにそれがコンテンツにあるのはなぜですか? ユーザーを作成するための XML 形式を取得するために参照できる公式ドキュメントはありますか?

注:C#コードをこれで機能させようとしているので、これにC#をタグ付けしました。上記のリクエストを生成し、同じレスポンスを取得するコードを作成しました。

注: 参照投稿では、<EmpId>タグは閉じられていません。最初に試したとき、「リクエスト XML が無効です。: 行 1 位置 242 の 'EmpId' 開始タグが 'UserProfile' の終了タグと一致しません。行 1、位置 328.」というエラーが表示されました。そこで、XML でそのエラーを修正しました。次に、バッチ要素が見つからないというエラーが発生します。したがって、私はその XML 構造を完全に信頼しているわけではありません。

4

1 に答える 1

0

Concur Developer forumから回答を得ました。問題は、大文字と小文字が区別される「バッチ」要素を期待していることです。私が言及した XML 形式の問題はこれだけではありません。

これは、V3 でユーザーを追加するための実用的な XML スキーマです。

<batch xmlns="http://www.concursolutions.com/api/user/2011/02" 
xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
<UserProfile xmlns="http://www.concursolutions.com/api/user/2011/02" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
<FeedRecordNumber>1</FeedRecordNumber>
<Active>Y</Active>
<LoginId>FirstLast@contoso.com</LoginId>
<FirstName>First</FirstName>
<LastName>Last</LastName>
<CtryCode>US</CtryCode>
<LocaleName>en_US</LocaleName>
<CrnKey>USD</CrnKey>
<EmpId>0001</EmpId>
<EmailAddress>FirstLast@contoso.com</EmailAddress>
<Password>password</Password>
<IsTestEmp>N</IsTestEmp>
<ExpenseApprover>Y</ExpenseApprover>
<Custom21>US</Custom21>
<ExpenseUser>Y</ExpenseUser>
<InvoiceApprover>N</InvoiceApprover>
<InvoiceUser>N</InvoiceUser>
<LedgerName>DEFAULT</LedgerName>
<LedgerCode></LedgerCode>
<LocalName>en_US</LocalName>
</UserProfile>
</batch>
于 2016-03-29T22:30:05.653 に答える