public String processInterfaceOperationType(DescriptionType descriptionType, String interfaceName, InterfaceOperationType interfaceOperationType, boolean addAddress)
    {
        String name = interfaceOperationType.getName();
        String patern = interfaceOperationType.getPattern();
        String style = interfaceOperationType.getStyle();
        boolean bIsSafe = interfaceOperationType.isSafe();
        MessageRefType messageIn = null;
        MessageRefType messageOut = null;
        MessageRefType messageFault = null;
        
        for (Object nextElement : interfaceOperationType.getInputOrOutputOrInfault())
        {
            Object inputOrOutputType = null;
            if (nextElement instanceof JAXBElement)
                inputOrOutputType = ((JAXBElement)nextElement).getValue();
            if (inputOrOutputType instanceof MessageRefType)
            {
                if ("In".equalsIgnoreCase(((MessageRefType)inputOrOutputType).getMessageLabel()))
                    messageIn = (MessageRefType)inputOrOutputType;
                else if ("Out".equalsIgnoreCase(((MessageRefType)inputOrOutputType).getMessageLabel()))
                    messageOut = (MessageRefType)inputOrOutputType;
                else
                    messageFault = (MessageRefType)inputOrOutputType;
            }
        }
        
        BindingType binding = this.getBindingFromInterfaceName(descriptionType, interfaceName);
        
        EndpointType endpointType = this.getServiceEndpointFromInterfaceNBinding(descriptionType, interfaceName, binding);
        
        String address = endpointType.getAddress();
        
        // Note: Here I should probably go through the types and find the type, but I just do the quick and dirty
        String element = messageIn.getElement();
        String messageLabel = messageIn.getMessageLabel();
        String elementOut = messageOut.getElement();
        
        this.updateMessageProcessInfo(element, elementOut, null, bIsSafe, addAddress ? address : null);
        
        return address;
    }
public String processInterfaceOperationType ( DescriptionType descriptionType , String interfaceName , InterfaceOperationType interfaceOperationType , boolean addAddress ) { String name = interfaceOperationType . getName ( ) ; String patern = interfaceOperationType . getPattern ( ) ; String style = interfaceOperationType . getStyle ( ) ; boolean bIsSafe = interfaceOperationType . isSafe ( ) ; MessageRefType messageIn = null ; MessageRefType messageOut = null ; MessageRefType messageFault = null ; for ( Object nextElement : interfaceOperationType . getInputOrOutputOrInfault ( ) ) { Object inputOrOutputType = null ; if ( nextElement instanceof JAXBElement ) inputOrOutputType = ( ( JAXBElement ) nextElement ) . getValue ( ) ; if ( inputOrOutputType instanceof MessageRefType ) { if ( "In" . equalsIgnoreCase ( ( ( MessageRefType ) inputOrOutputType ) . getMessageLabel ( ) ) ) messageIn = ( MessageRefType ) inputOrOutputType ; else if ( "Out" . equalsIgnoreCase ( ( ( MessageRefType ) inputOrOutputType ) . getMessageLabel ( ) ) ) messageOut = ( MessageRefType ) inputOrOutputType ; else messageFault = ( MessageRefType ) inputOrOutputType ; } } BindingType binding = this . getBindingFromInterfaceName ( descriptionType , interfaceName ) ; EndpointType endpointType = this . getServiceEndpointFromInterfaceNBinding ( descriptionType , interfaceName , binding ) ; String address = endpointType . getAddress ( ) ; String element = messageIn . getElement ( ) ; String messageLabel = messageIn . getMessageLabel ( ) ; String elementOut = messageOut . getElement ( ) ; this . updateMessageProcessInfo ( element , elementOut , null , bIsSafe , addAddress ? address : null ) ; return address ; }
ProcessInterfaceOperationType Method.