[ https://issues.apache.org/jira/browse/CXF-7898?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16746586#comment-16746586 ]
Colm O hEigeartaigh commented on CXF-7898: ------------------------------------------ Do you have a test-case to help reproduce the problem? > Cxf returns 'null' on MessagePartInfo typeClass in services with multiple > portTypes > ----------------------------------------------------------------------------------- > > Key: CXF-7898 > URL: https://issues.apache.org/jira/browse/CXF-7898 > Project: CXF > Issue Type: Bug > Components: JAXB Databinding > Reporter: Mathaus Erich Ramos > Priority: Major > > Recently I started using the Apache Cxf lib with the intention of performing > the extraction of operation attributes in a WSDL files for SOAP Web Services. > That's because before the company where I worked had many problems with the > old lib, the Predic8. > However, recently I tried to extract the attributes of a WSDL operation and I > was not able to get the expected result. From what I have analyzed with some > tests, it is not able to identify the type of the Class of the attributes > that have more than one binding. However with some tests I performed, > changing the portType of all bindings to the same I was able to get it to > interpret correctly. > I believe the problem is occurring when there is more and a binding and each > uses a different PortType, since it can only extract the type of classes from > the attributes in one of the portTypes. > Please give me a light. > *Code used to extract:* > {code:java} > public class DynClient { > > > public static void main(String[] args) { > JaxWsDynamicClientFactory factory = > JaxWsDynamicClientFactory.newInstance(); > Client client = > factory.createClient("http://intsaprm.hptransportes.com.br:8051/wsConsultaSQL/MEX?wsdl"); > > for (ServiceInfo service : > client.getEndpoint().getService().getServiceInfos()) { > for (BindingInfo binding : service.getBindings()) { > System.out.println("Binding: " + > binding.getName().getLocalPart()); > binding.getOperations().forEach(operation -> { > > if (operation.getInput() != null) { > > operation.getInput().getMessageParts().forEach(part > -> { > System.out.println(part.getName().getLocalPart() > + "=>" + part.getTypeClass()); > }); > } > if (operation.getOutput() != null) { > operation.getOutput().getMessageParts().forEach(part > -> { > System.out.println(part.getName().getLocalPart() > + "=>" + part.getTypeClass()); > }); > } > }); > } > } > > } > }{code} > > *When executed:* > {panel:title=Output} > Binding: RM_IwsBase > parameters=>class com.totvs.CheckServiceActivity > parameters=>class com.totvs.CheckServiceActivityResponse > parameters=>class com.totvs.AutenticaAcesso > parameters=>class com.totvs.AutenticaAcessoResponse > parameters=>class com.totvs.Implements > parameters=>class com.totvs.ImplementsResponse > Binding: RM_IwsConsultaSQL > parameters=>null > parameters=>null > parameters=>null > parameters=>null > parameters=>null > parameters=>null > Binding: RM_IRMSServer > parameters=>null > parameters=>null > parameters=>null > parameters=>null > {panel} > -- This message was sent by Atlassian JIRA (v7.6.3#76005)