お世話になります。
パッケージ版のGaroonにてAPI呼び出しを試しています。
VisualStudio2017でガルーンAPIを使ってメッセージを送ってみるhttps://qiita.com/HAGITAKO/items/b684f4e31552e5a5db69
上記を参考にし、APIを呼び出したところ401エラーが発生します。
ガルーンのエラーならば何らかのガルーンのコードとともにレスポンスが返ってくる気がしますので、IIS上の設定と思うのですが。
アクセス権限、実行権限等のIIS上の設定について何か情報無いでしょうか。
自己解決しました。
APIを呼ぶ前に「UseDefaultCredentials」をTrueにすれば呼べました。
AddressBinding addressAPI = new AddressBinding();
/* ここから */
//--------------------------------------------------------
// ヘッダ情報追加
//--------------------------------------------------------
// Garoon共通のSOAPヘッダー
ActionElement actionElement = new ActionElement();
UsernameTokenElement userNameTokenElement = new UsernameTokenElement();
SecurityElement securityElement = new SecurityElement();
TimestampElement timeStampElement = new TimestampElement();
// 呼び出すAPI名
actionElement.actionValue = “AddressGetSharedBooksById”;
// アクセス者
userNameTokenElement.Username = Properties.Settings.Default.User; // GaroonのログインID
userNameTokenElement.Password = Properties.Settings.Default.Password; // ログインパスワード
securityElement.usernameToken = userNameTokenElement;
// タイムスタンプ
timeStampElement.Created = DateTime.UtcNow;
timeStampElement.Expires = timeStampElement.Created.AddDays(8);
// ヘッダー設定
addressAPI.action = actionElement;
addressAPI.security = securityElement;
addressAPI.timeStamp = timeStampElement;
/* ここまで */
string[] param = {“6”};
try
{
_ addressAPI.UseDefaultCredentials = true; _
BookType[] booktype = addressAPI.AddressGetSharedBooksById(param);
booktype.ToString();
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
MessageBox.Show(ex.Message);
}