Package javax.xml.soap

Examples of javax.xml.soap.MimeHeaders


            return null;
        }
    }

    private MimeHeaders parseMimeHeaders(InputStream inputStream) throws IOException {
        MimeHeaders mimeHeaders = new MimeHeaders();
        if (inputStream instanceof TransportInputStream) {
            TransportInputStream transportInputStream = (TransportInputStream) inputStream;
            for (Iterator<String> headerNames = transportInputStream.getHeaderNames(); headerNames.hasNext();) {
                String headerName = headerNames.next();
                for (Iterator<String> headerValues = transportInputStream.getHeaders(headerName); headerValues.hasNext();) {
                    String headerValue = headerValues.next();
                    StringTokenizer tokenizer = new StringTokenizer(headerValue, ",");
                    while (tokenizer.hasMoreTokens()) {
                        mimeHeaders.addHeader(headerName, tokenizer.nextToken().trim());
                    }
                }
            }
        }
        return mimeHeaders;
View Full Code Here


        }
    }

    private SOAPMessage createRequest() throws TransformerException, SOAPException {
        SOAPMessage request = saajMessageFactory.createMessage();
        MimeHeaders mimeHeaders = request.getMimeHeaders();
        mimeHeaders.addHeader(REQUEST_HEADER_NAME, REQUEST_HEADER_VALUE);
        Transformer transformer = transformerFactory.newTransformer();
        transformer.transform(new StringSource(REQUEST), new DOMResult(request.getSOAPBody()));
        return request;
    }
View Full Code Here

            try {
                SOAPConstants soapConstants = messageContext.getSOAPConstants();
                String contentType1 = responseMessage.getContentType(soapConstants);
                res.setContentType(contentType1);
                // Transfer MIME headers to HTTP headers for response message.
                MimeHeaders responseMimeHeaders = responseMessage.getMimeHeaders();
                for (Iterator i = responseMimeHeaders.getAllHeaders(); i.hasNext();) {
                    MimeHeader responseMimeHeader = (MimeHeader) i.next();
                    res.setHeader(responseMimeHeader.getName(),
                            responseMimeHeader.getValue());
                }
                //TODO discuss this with dims.
View Full Code Here

      {
         return true;
      }

      SOAPMessage message = msgContext.getMessage();
      MimeHeaders mimeHeaders = message.getMimeHeaders();

      String cookie = createCookie(info, sessionInfo);

      if (cookie.length() != 0)
      {
         mimeHeaders.setHeader(CookieUtil.COOKIE, cookie);
      }

      return true;
   }
View Full Code Here

   public boolean handleResponse(MessageContext msgContext)
   {
      SOAPMessageContext smc = (SOAPMessageContext)msgContext;
      SOAPMessage message = smc.getMessage();
      MimeHeaders mimeHeaders = message.getMimeHeaders();
      String[] cookieValues = mimeHeaders.getHeader(CookieUtil.SET_COOKIE);

      String endpointAddress = (String)msgContext.get(BindingProvider.ENDPOINT_ADDRESS_PROPERTY);
      if (cookieValues != null)
      {
         if (endpointAddress == null)
View Full Code Here

            // read headers
            is.setInputStream( m_socket.getInputStream(  ) );

            // parse all headers into hashtable
            MimeHeaders requestHeaders = new MimeHeaders(  );
            int         contentLength =
               parseHeaders( is, buf, contentType, contentLocation, soapAction, httpRequest, fileName, cookie,
                             cookie2, authInfo, requestHeaders );
            is.setContentLength( contentLength );

            int paramIdx = fileName.toString(  ).indexOf( '?' );
            if ( paramIdx != -1 )
            {
               // Got params
               String params = fileName.substring( paramIdx + 1 );
               fileName.setLength( paramIdx );

               log.debug( Messages.getMessage( "filename00",
                                               fileName.toString(  ) ) );
               log.debug( Messages.getMessage( "params00", params ) );

               if ( "wsdl".equalsIgnoreCase( params ) )
               {
                  doWsdl = true;
               }

               if ( params.startsWith( "method=" ) )
               {
                  methodName = params.substring( 7 );
               }
            }

            // Real and relative paths are the same for the
            // SimpleAxisServer
            msgContext.setProperty( Constants.MC_REALPATH,
                                    fileName.toString(  ) );
            msgContext.setProperty( Constants.MC_RELATIVE_PATH,
                                    fileName.toString(  ) );
            msgContext.setProperty( Constants.MC_JWS_CLASSDIR, "jwsClasses" );
            msgContext.setProperty( Constants.MC_HOME_DIR, "." );

            // !!! Fix string concatenation
            String url =
               "http://" + getLocalHost(  ) + ":" + m_server.getServerSocket(  ).getLocalPort(  ) + "/"
               + fileName.toString(  );
            msgContext.setProperty( MessageContext.TRANS_URL, url );

            String filePart = fileName.toString(  );
            if ( filePart.startsWith( "axis/services/" ) )
            {
               String servicePart = filePart.substring( 14 );
               int    separator = servicePart.indexOf( '/' );
               if ( separator > -1 )
               {
                  msgContext.setProperty( "objectID",
                                          servicePart.substring( separator + 1 ) );
                  servicePart = servicePart.substring( 0, separator );
               }

               msgContext.setTargetService( servicePart );
            }

            if ( authInfo.length(  ) > 0 )
            {
               // Process authentication info
               //authInfo = new StringBuffer("dXNlcjE6cGFzczE=");
               byte[]       decoded = Base64.decode( authInfo.toString(  ) );
               StringBuffer userBuf = new StringBuffer(  );
               StringBuffer pwBuf   = new StringBuffer(  );
               StringBuffer authBuf = userBuf;
               for ( int i = 0; i < decoded.length; i++ )
               {
                  if ( (char) ( decoded[i] & 0x7f ) == ':' )
                  {
                     authBuf = pwBuf;
                     continue;
                  }

                  authBuf.append( (char) ( decoded[i] & 0x7f ) );
               }

               if ( log.isDebugEnabled(  ) )
               {
                  log.debug( Messages.getMessage( "user00",
                                                  userBuf.toString(  ) ) );
               }

               msgContext.setUsername( userBuf.toString(  ) );
               msgContext.setPassword( pwBuf.toString(  ) );
            }

            // if get, then return simpleton document as response
            if ( httpRequest.toString(  ).equals( "GET" ) )
            {
               OutputStream out = m_socket.getOutputStream(  );
               out.write( HTTP );
               if ( fileName.length(  ) == 0 )
               {
                  out.write( "301 Redirect\nLocation: /axis/\n\n".getBytes(  ) );
                  out.flush(  );
                  return;
               }

               out.write( status );

               if ( methodName != null )
               {
                  String body = "<" + methodName + ">" +
                     //                               args +
                     "</" + methodName + ">";
                  String msgtxt =
                     "<SOAP-ENV:Envelope" + " xmlns:SOAP-ENV=\"" + Constants.URI_SOAP12_ENV + "\">"
                     + "<SOAP-ENV:Body>" + body + "</SOAP-ENV:Body>" + "</SOAP-ENV:Envelope>";

                  ByteArrayInputStream istream = new ByteArrayInputStream( msgtxt.getBytes(  ) );
                  requestMsg = new Message( istream );
               }
               else if ( doWsdl )
               {
                  engine.generateWSDL( msgContext );

                  Document doc = (Document) msgContext.getProperty( "WSDL" );
                  if ( doc != null )
                  {
                     XMLUtils.normalize( doc.getDocumentElement(  ) );
                     String response  = XMLUtils.PrettyDocumentToString( doc );
                     byte[] respBytes = response.getBytes(  );

                     out.write( XML_MIME_STUFF );
                     putInt( buf, out, respBytes.length );
                     out.write( SEPARATOR );
                     out.write( respBytes );
                     out.flush(  );
                     return;
                  }
               }
               else if ( fileName.equals( "/" ) )
               {
                  StringBuffer sb = new StringBuffer(  );
                  sb.append( "<h2>And now... Some Services</h2>\n" );
                  Iterator i = engine.getConfig(  ).getDeployedServices(  );
                  sb.append( "<ul>\n" );
                  while ( i.hasNext(  ) )
                  {
                     ServiceDesc sd = (ServiceDesc) i.next(  );
                     sb.append( "<li>\n" );
                     sb.append( sd.getName(  ) );
                     sb.append( " <a href=\"services/" );
                     sb.append( sd.getName(  ) );
                     sb.append( "?wsdl\"><i>(wsdl)</i></a></li>\n" );
                     ArrayList operations = sd.getOperations(  );
                     if ( !operations.isEmpty(  ) )
                     {
                        sb.append( "<ul>\n" );
                        for ( Iterator it = operations.iterator(  ); it.hasNext(  ); )
                        {
                           OperationDesc desc = (OperationDesc) it.next(  );
                           sb.append( "<li>" + desc.getName(  ) );
                        }

                        sb.append( "</ul>\n" );
                     }
                  }

                  sb.append( "</ul>\n" );

                  byte[] bytes = sb.toString(  ).getBytes(  );

                  out.write( HTML_MIME_STUFF );
                  putInt( buf, out, bytes.length );
                  out.write( SEPARATOR );
                  out.write( bytes );
                  out.flush(  );
                  return;
               }
               else
               {
                  String filePath = fileName.toString(  );
                  if ( filePath.startsWith( "/" ) )
                  {
                     filePath = filePath.substring( 1 );
                  }

                  File        realPath = new File( m_docRootDir, filePath );
                  InputStream in = new BufferedInputStream( new FileInputStream( realPath ) );

                  //System.out.println( "Serving up " + realPath + " on a silver platter..." );
                  IoUtils.copy( in, out );
                  in.close(  );
                  out.flush(  );
                  return;
               }
            }
            else
            {
               // this may be "" if either SOAPAction: "" or if no SOAPAction at all.
               // for now, do not complain if no SOAPAction at all
               String soapActionString = soapAction.toString(  );
               if ( soapActionString != null )
               {
                  msgContext.setUseSOAPAction( true );
                  msgContext.setSOAPActionURI( soapActionString );
               }

               requestMsg = new Message( is,
                                         false,
                                         contentType.toString(  ),
                                         contentLocation.toString(  ) );
            }

            // Transfer HTTP headers to MIME headers for request message.
            MimeHeaders requestMimeHeaders = requestMsg.getMimeHeaders(  );
            for ( Iterator i = requestHeaders.getAllHeaders(  ); i.hasNext(  ); )
            {
               MimeHeader requestHeader = (MimeHeader) i.next(  );
               requestMimeHeaders.addHeader( requestHeader.getName(  ),
                                             requestHeader.getValue(  ) );
            }

            msgContext.setRequestMessage( requestMsg );
View Full Code Here

      {
         return true;
      }

      SOAPMessage message = msgContext.getMessage();
      MimeHeaders mimeHeaders = message.getMimeHeaders();
      StringBuffer cookie = new StringBuffer(64);
      if (sessionInfo.isPerGroupCookies())
      {
         if (info.groupId == null)
         {
            throw new IllegalStateException("Was expecting a current group Id...");
         }

         String groupCookie = sessionInfo.getGroupCookieFor(info.groupId);
         if (groupCookie != null)
         {
            cookie.append(groupCookie);
         }
      }

      String userCookie = sessionInfo.getUserCookie();
      if (userCookie != null)
      {
         if (cookie.length() != 0)
         {
            cookie.append(','); // multiple cookies are separated by commas: http://www.ietf.org/rfc/rfc2109.txt, 4.2.2
         }
         cookie.append(userCookie);
      }

      if (cookie.length() != 0)
      {
         mimeHeaders.setHeader("Cookie", cookie.toString());
      }

      return true;
   }
View Full Code Here

   public boolean handleResponse(MessageContext msgContext)
   {
      SOAPMessageContext smc = (SOAPMessageContext)msgContext;
      SOAPMessage message = smc.getMessage();
      MimeHeaders mimeHeaders = message.getMimeHeaders();
      String[] cookieValues = mimeHeaders.getHeader("Set-Cookie");

      if (cookieValues != null)
      {
         String cookieValue = coalesceCookies(cookieValues);
View Full Code Here

import javax.xml.soap.MimeHeader;
import javax.xml.soap.MimeHeaders;

public class MimeHeadersUtil {
    public static MimeHeaders copy(MimeHeaders headers) {
        MimeHeaders newHeaders = new MimeHeaders();
        Iterator eachHeader = headers.getAllHeaders();
        while (eachHeader.hasNext()) {
            MimeHeader currentHeader = (MimeHeader) eachHeader.next();

            newHeaders.addHeader(
                currentHeader.getName(),
                currentHeader.getValue());
        }
        return newHeaders;
    }
View Full Code Here

    private final MimeHeaders headers;
    private MimeBodyPart rawContent = null;
    private DataHandler dataHandler = null;

    public AttachmentPartImpl() {
        headers = new MimeHeaders();
    }
View Full Code Here

TOP

Related Classes of javax.xml.soap.MimeHeaders

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.