2015-03-06 2 views
0

У меня проблема с WSO2 Api Manager 1.7 SOAP API.
Я зарегистрировал много арендаторов в моем Api Manager, и я создал много API для каждого, и я создал API для супер супер администратора (tenant -1234).
Я создал клиент веб-сервиса из этого wsdl-url https://<.AM_IP>:<.AM_PORT>/services/API?wsdl с командной строкой wsimport (Axis2).WSO2 get api list SOAP request

Если я звоню getAPIArtifactIDs с полномочиями администратора Carbon Tenant, я могу получить список идентификаторов артефактов api.
Если я звоню getAPIArtifactIDs операции с другими учетными данными арендатора У меня есть пустой список.
Как я могу решить эту проблему?

Это мой код:

System.getProperties().setProperty("javax.net.ssl.trustStore", "wso2carbon.jks");<br> 
System.getProperties().setProperty("javax.net.ssl.trustStorePassword", "wso2carbon");<br> 
System.getProperties().setProperty("javax.net.ssl.trustStoreType", "JKS");<br> 

HttpsURLConnection.setDefaultHostnameVerifier(new HostnameVerifier() { 
     @Override 
     public boolean verify(String hostname, SSLSession session) { 
      return true; 
     } 
}); 

API api = new API(); 
APIPortType port = api.getAPIHttpsSoap11Endpoint(); 
BindingProvider bp = (BindingProvider)port; 

bp.getRequestContext().put(BindingProvider.ENDPOINT_ADDRESS_PROPERTY, "https://<.AM_IP>:<.AM_PORT>/services/API.APIHttpsSoap11Endpoint");<br> 
bp.getRequestContext().put(BindingProvider.USERNAME_PROPERTY, "admin");<br> 
bp.getRequestContext().put(BindingProvider.PASSWORD_PROPERTY, "admin");<br> 
List<String> ids = port.getAPIArtifactIDs(); 
if(ids!=null && !ids.isEmpty()) 
    for(String id : ids) 
     System.out.println(id); 
+0

Можете ли вы попробовать с клиентом soapui, убедитесь, что вы получили ответ с клиентами-арендаторами. если он работает с клиентом soapui, тогда вам нужно проверить свой код. – Jenananthan

ответ

0

Если необходимо получить информацию о арендатора, вы должны использовать регистр жилец службы для этого. Ниже приведен URL-адрес WSDL для вашего арендатора для получения сведений о API.

https://<AM_IP>: < AM_PORT>/т/< TENANT_DOMAIN>/услуги/API WSDL

Но опять же, если вам нужно получить все интерфейсы в пути API менеджера вы можете использовать службу REST, которая описывает в API Manager Documentation?.

 Смежные вопросы

  • Нет связанных вопросов^_^