0

请有人帮我找到一些使用 wsdl4j API 解析 wsdl url 的示例。

谢谢

4

1 回答 1

2

试试这样;

public Definition readWSDLFile() throws  WSDLException {
        WSDLReader reader = getWsdlFactoryInstance().newWSDLReader();
        // switch off the verbose mode
        reader.setFeature(JAVAX_WSDL_VERBOSE_MODE, false);
        reader.setFeature("javax.wsdl.importDocuments", true);

        Definition wsdlDefinition;
        if (log.isDebugEnabled()) {
            log.debug("Reading  the WSDL. Base uri is " + baseURI);
        }
        wsdlDefinition = reader.readWSDL(baseURI);
        return wsdlDefinition;

    }

使用定义你可以访问操作,服务对象..来访问一个服务地址位置;

private void setServiceDefinition(Definition definition) throws Exception {

        Map serviceMap = definition.getAllServices();
        Iterator serviceItr = serviceMap.entrySet().iterator();
        URL addressURI = null;
        try {
            while (serviceItr.hasNext()) {
                Map.Entry svcEntry = (Map.Entry) serviceItr.next();
                Service svc = (Service) svcEntry.getValue();
                Map portMap = svc.getPorts();
                Iterator portItr = portMap.entrySet().iterator();
                while (portItr.hasNext()) {
                    Map.Entry portEntry = (Map.Entry) portItr.next();
                    Port port = (Port) portEntry.getValue();
                    ExtensibilityElement extensibilityElement = (ExtensibilityElement) port.getExtensibilityElements()
                                                                                           .get(0);

                    addressURI = new URL(getAddressUrl(extensibilityElement));

                }
            }

这是我写的一个示例,可能对你有用。

于 2013-11-29T05:54:34.093 回答