Я использую WSO2 IS v5.1.0.и пытается создать приложение поставщика услуг.Я перепробовал все размещенные в сети вопросы и ответы, но все еще получал одно и то же исключение.
org.apache.axis2.AxisFault: The input stream for an incoming message is null.
И при попытке создать / зарегистрировать то же имя приложения выдает следующее исключение:
org.apache.axis2.AxisFault: Error while creating application role: Application/ServiceProviderAppTest with user admin
Тестовый код для приложения Service Provide:
package com.customserviceprovider;
import java.rmi.RemoteException;
import org.apache.axis2.Constants;
import org.apache.axis2.client.Options;
import org.apache.axis2.client.ServiceClient;
import org.apache.axis2.transport.http.HTTPConstants;
import org.apache.axis2.transport.http.HttpTransportProperties;
import org.wso2.carbon.identity.application.common.model.xsd.InboundAuthenticationConfig;
import org.wso2.carbon.identity.application.common.model.xsd.InboundAuthenticationRequestConfig;
import org.wso2.carbon.identity.application.common.model.xsd.Property;
import org.wso2.carbon.identity.application.common.model.xsd.ServiceProvider;
import org.wso2.carbon.identity.application.mgt.stub.IdentityApplicationManagementServiceStub;
import org.wso2.carbon.identity.oauth.stub.OAuthAdminServiceException;
import org.wso2.carbon.identity.oauth.stub.OAuthAdminServiceStub;
import org.wso2.carbon.identity.oauth.stub.dto.OAuthConsumerAppDTO;
public class IdentityClient {
private final static String SERVER_URL = "https://localhost:9443/services/";
public static void main(String[] args) throws RemoteException, OAuthAdminServiceException {
String appName = "ServiceProviderAppTest";
String appDescription = "Test description for ServiceProviderAppTest";
System.setProperty("javax.net.ssl.trustStore", "D:\\wso2carbon.jks");
System.setProperty("javax.net.ssl.trustStorePassword", "wso2carbon");
try {
IdentityApplicationManagementServiceStub IAMStub = new IdentityApplicationManagementServiceStub(
null, SERVER_URL + "IdentityApplicationManagementService");
ServiceClient IAMClient = IAMStub._getServiceClient();
authenticate(IAMClient);
ServiceProvider serviceProvider = new ServiceProvider();
serviceProvider.setApplicationName(appName);
serviceProvider.setDescription(appDescription);
IAMStub.createApplication(serviceProvider);//throwing Exception
} catch (Exception e) {
e.printStackTrace();
}
}
public static void authenticate(ServiceClient client) {
Options option = client.getOptions();
option.setProperty(Constants.Configuration.MESSAGE_TYPE,HTTPConstants.MEDIA_TYPE_APPLICATION_ECHO_XML);
option.setProperty(Constants.Configuration.DISABLE_SOAP_ACTION,Boolean.TRUE);
HttpTransportProperties.Authenticator auth = new HttpTransportProperties.Authenticator();
auth.setUsername("admin");
auth.setPassword("admin");
auth.setPreemptiveAuthentication(true);
option.setProperty(org.apache.axis2.transport.http.HTTPConstants.AUTHENTICATE, auth);
option.setManageSession(true);
}
}
Несмотря на то, что с помощью Exception Application создается на сервере.
Любая помощь для устранения исключений входящего сообщения равна нулю.