이 포럼을 검색하여 그물을 검색했지만 내 문제에 대한 해결책을 찾을 수 없습니다.클라이언트 측에서 웹 서비스 인증을위한 사용자 이름 비밀번호를 보내는 방법
나는 axis1.4의 도움으로 스텁을 생성 한 WSDL 파일을 받았다. 나는 또한 서비스가 요구하는 것과 정확히 같은 XML 응답을 만들었지 만 서비스에 액세스하려고하면 "인증 실패"라고 표시됩니다.
그런 다음 웹 서비스가 사용자 이름 암호로 보호되고 있음을 알게되었습니다.
XML 요청시 사용자 이름 암호를 어떻게 보내야합니까?
아래 코드는 요청을 생성하는 방법입니다.
public class SearcUserFriendlyIsMain {
/**
* @param args
*/
Tews6SoapBindingStub stub = null;
public void init(){
if(null == stub) {
try {
URL url = null;
String endPoint = "http://localhost:1111";
try {
url = new URL(endPoint);
} catch (MalformedURLException e) {
e.printStackTrace();
}
stub = new Tews6SoapBindingStub(url, null);
stub.setMaintainSession(true);
} catch (AxisFault e) {
StringBuffer sb = new StringBuffer();
for (StackTraceElement t : e.getStackTrace()) {
sb.append("\n").append(t.toString());
}
System.out.println("DEBUG"+ sb.toString());
}
}
}
public static void main(String[] args) {
SearcUserFriendlyIsMain tds = new SearcUserFriendlyIsMain();
tds.init();
NYCBSearchUserByFriendlyIdQuery query = new NYCBSearchUserByFriendlyIdQuery();
NYCBSearchUserByFriendlyIdSearch search = new NYCBSearchUserByFriendlyIdSearch();
NYCBSearchUserByFriendlyIdQueryResult res = null;
NYCBSearchUserByFriendlyIdSearchFilter filter = new NYCBSearchUserByFriendlyIdSearchFilter();
NYCBSearchUserByFriendlyIdSearchFilter[] filters = {filter};
filter.setOp(OperatorType.EQUALS);
filter.setIndex(new BigInteger("1"));
filter.setField("USERID");
filter.setValue("junaidaj01");
search.setFilter(filters);
NYCBSearchUserByFriendlyIdQueryTaskContext context = new NYCBSearchUserByFriendlyIdQueryTaskContext();
context.setAdmin_id("uid=00000001-0001-0001-0001-0000000ja202,ou=serviceaccounts,dc=test,dc=com");
query.setNYCBSearchUserByFriendlyIdSearch(search);
try {
res = tds.stub.NYCBSearchUserByFriendlyIdQuery(context,query);
System.out.println(res.getImsStatus());
} catch (ImsException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (RemoteException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}