@@ -67,6 +67,7 @@ private class Element{
6767 public String minOccurs = "0" ;
6868 public String maxOccurs = "1" ;
6969 public boolean IsAttribute = false ;
70+ public String tagName = "parameter" ;
7071
7172 private java .util .ArrayList <Object > children = new java .util .ArrayList <>();
7273
@@ -150,7 +151,7 @@ public void addOptions(Options options){
150151
151152 public String toString (){
152153 StringBuffer xml = new StringBuffer ();
153- xml .append (" <parameter " +
154+ xml .append (" <" + tagName + " " +
154155 "name=\" " + Name + "\" " +
155156 "type=\" " + Type + "\" " +
156157 "minOccurs=\" " + minOccurs + "\" " +
@@ -164,7 +165,7 @@ public String toString(){
164165 xml .append (it .next ().toString ());
165166 }
166167
167- xml .append (" </parameter >" + vbCrLf );
168+ xml .append (" </" + tagName + " >" + vbCrLf );
168169 return xml .toString ();
169170 }
170171 }
@@ -501,6 +502,19 @@ private void parseWSDL(){
501502 }
502503 SSD += " </parameters>" + vbCrLf ;
503504
505+ SSD += " <outputs>" + vbCrLf ;
506+ arrElements = getElements (Message .Output );
507+ try {
508+ for (int k =0 ; k <arrElements .size (); k ++ ) {
509+ Element = arrElements .get (k );
510+ Element .tagName = "output" ;
511+ SSD += Element .toString ();
512+ }
513+ }
514+ catch (Exception e ){
515+ //System.out.println(e.toString());
516+ }
517+ SSD += " </outputs>" + vbCrLf ;
504518
505519 SSD +=" </method>" + vbCrLf ;
506520 }
@@ -513,6 +527,7 @@ private void parseWSDL(){
513527 }
514528
515529 SSD += vbCrLf + "</ssd>" ;
530+ System .out .println (SSD );
516531 ssd = DOM .createDocument (SSD );
517532
518533 knownTypes .clear ();
@@ -532,18 +547,23 @@ private Port getPort(NodeList Ports){
532547 for (int j =0 ; j <Ports .getLength (); j ++ ) {
533548 if (contains (Ports .item (j ).getNodeName (), "port" )) {
534549
535- //Get Service Binding
550+ //Get Service Binding
536551 NamedNodeMap attr = Ports .item (j ).getAttributes ();
537552 PortName = DOM .getAttributeValue (attr , "name" );
538553 PortBinding = stripNameSpace (DOM .getAttributeValue (attr , "binding" ));
539554
540555
541- //Get Service Endpoint (url)
556+ //Get Service Endpoint (url)
542557 PortAddress = "" ;
543558 NodeList Addresses = Ports .item (j ).getChildNodes ();
544559 for (int k =0 ; k <Addresses .getLength (); k ++ ) {
545560 String Address = Addresses .item (k ).getNodeName ();
546- if (contains (Address , "address" ) && !contains (Address ,"http:" ) ) { //soap:address
561+ System .out .println (Address );
562+ if (contains (Address , "address" ) && //soap:address
563+ !contains (Address ,"http:" ) &&
564+ !contains (Address ,"https:" ) && //untested prefix
565+ !contains (Address ,"soap12:" ) //untested prefix (suggested by user)
566+ ){
547567 attr = Addresses .item (k ).getAttributes ();
548568 PortAddress = DOM .getAttributeValue (attr , "location" );
549569 foundSoapPort = true ;
0 commit comments