1

これは、msdnのMicrosoft Dynamics NAV Web サービスです。http://<Server>:<WebServicePort>/<ServerInstance>しかし、私はandhttp://<Server>:<WebServicePort>/<ServerInstance>/ws/SystemServiceとしか呼び出すことができませんhttp://<Server>:<WebServicePort>/<ServerInstance>/ws/services

しかし、私は以下を呼び出すことができません: http://<Server>:<WebServicePort>/<ServerInstance>/WS/<CompanyName>/services http://<Server>:<WebServicePort>/<ServerInstance>/WS/<CompanyName>/Page/<ServiceName>

特定のコードユニットにアクセスするための URL には、次の要素があります。

http://<Server>:<WebServicePort>/<ServerInstance>/WS/<CompanyName>/Codeunit/<ServiceName>

各企業の Microsoft Dynamics Nav Web サービスにブラウザーからアクセスするにはどうすればよいですか?

4

3 に答える 3

1

リンク先のmsdn ページには、次のように記載されています。

会社名の特殊文字は URL エンコードする必要があります。たとえば、会社名のスペースは %20 に置き換える必要があるため、会社名 "Microsoft France SA" は次のようにエンコードします:Microsoft%20France%20S.A. インストールされている言語の一部ではない文字も置き換える必要があります。たとえば、米国英語ロケールでは、会社名「CRONUS ÆØÅ Company」は次のようにエンコードする必要があります: CRONUS%20%C3%86%C3%98%C3%85%20Company

使用している会社名が適切にエスケープされていることを確認しましたか?

.NET コードで URI を構築している場合は、 Uri.EscapeUriStringメソッドを使用して会社名をエスケープできます。

于 2012-06-26T20:13:25.753 に答える
0

SystemService には、機能「Companies」があります。ここでは、Dynamics NAV システムで定義されているすべての会社を取得できます。

これらをループすることで、すべての会社のすべての Web サービスを呼び出すことができます。

ただし、サービスでは、公開されているすべての Web サービスの概要を取得できます。これらのほとんどはすべての企業で機能します (systemservice を除く)

この場合、エスケープされた companyname を、WS と Codeunit または Page タグの間の「フォルダー」として配置します。

そのような:

http://<Server>:<WebServicePort>/<ServerInstance>/WS/<CompanyName>/Page/<PublishedName>

また

http://<Server>:<WebServicePort>/<ServerInstance>/WS/<CompanyName>/Codeunit/<PublishedName>
于 2015-12-10T15:15:14.013 に答える