List of usage examples for javax.xml.ws.soap MTOMFeature MTOMFeature
public MTOMFeature(int threshold)
From source file:org.socraticgrid.docmgr.NHINQueryProcessor.java
public void handleQueryMessage(String ticket, NHINQueryMessage msg) { try { // Call Web Service Operation List<WebServiceFeature> wsfeatures = new ArrayList<WebServiceFeature>(); wsfeatures.add(new MTOMFeature(0)); WebServiceFeature[] wsfeaturearray = wsfeatures.toArray(new WebServiceFeature[0]); javax.xml.ws.Service myService = new ServiceUtil().createService("EntityDocQuery.wsdl", "urn:org:socraticgrid:entitydocquery", "EntityDocQuery"); org.socraticgrid.entitydocquery.EntityDocQueryPortType port = myService.getPort( new javax.xml.namespace.QName("urn:gov:hhs:fha:nhinc:entitydocquery", "EntityDocQueryPortSoap"), org.socraticgrid.entitydocquery.EntityDocQueryPortType.class); ((javax.xml.ws.BindingProvider) port).getRequestContext().put( javax.xml.ws.BindingProvider.ENDPOINT_ADDRESS_PROPERTY, PropertyAccessor.getProperty(DocumentManagerImpl.REPOSITORY_PROPERTY_FILE, DocumentManagerImpl.NHINDOCQUERY_ENDPOINT_PROP)); ((javax.xml.ws.BindingProvider) port).getRequestContext().put("com.sun.xml.ws.request.timeout", 3 * 60 * 1000);//from w ww .j a v a 2 s . c om ((javax.xml.ws.BindingProvider) port).getRequestContext().put("com.sun.xml.internal.ws.request.timeout", 3 * 60 * 1000); RespondingGatewayCrossGatewayQueryRequestType gatewayQueryRequest = new RespondingGatewayCrossGatewayQueryRequestType(); AdhocQueryRequest adhocQueryRequest = createQuery(msg); AssertionType assertion = createAssertion(msg); gatewayQueryRequest.setAdhocQueryRequest(adhocQueryRequest); gatewayQueryRequest.setAssertion(assertion); AdhocQueryResponse result = port.respondingGatewayCrossGatewayQuery(gatewayQueryRequest); //Compare gateway results with local repository List<NewDocInfo> newDocs = findNewDocuments(result, adhocQueryRequest); //Start async retrieve of new documents for (NewDocInfo newDoc : newDocs) { startRetrieve(newDoc, assertion, msg.getPatientUnitNumber(), msg.getHomeCommunityId(), PropertyAccessor.getProperty(DocumentManagerImpl.REPOSITORY_PROPERTY_FILE, DocumentManagerImpl.INBOUND_DOCUMENT_REPOSITORY_ID_PROP), new DocumentManagerImpl().generateUniqueId(null).getUniqueId(), msg.getCallbackURL()); } //Notify caller of status doCallback(true, "Success", ticket, msg.getCallbackURL(), newDocs); } catch (Exception e) { //Handle custom exceptions here log.error("Error handling NHIN query message.", e); //Notify caller of status doCallback(false, e.getMessage(), ticket, msg.getCallbackURL(), new LinkedList<NewDocInfo>()); } }