Skip to content

Commit

Permalink
GOClient: print request XML
Browse files Browse the repository at this point in the history
  • Loading branch information
teosarca committed Dec 22, 2017
1 parent bfbb6f8 commit b883493
Showing 1 changed file with 25 additions and 3 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,11 @@
import java.time.format.DateTimeFormatter;
import java.util.List;

import javax.xml.bind.JAXBElement;

import org.springframework.oxm.Marshaller;
import org.springframework.ws.client.core.support.WebServiceGatewaySupport;
import org.springframework.xml.transform.StringResult;

import com.google.common.base.MoreObjects;
import com.google.common.collect.ImmutableList;
Expand Down Expand Up @@ -88,12 +92,15 @@ public String getShipperGatewayId()
{
return SHIPPER_GATEWAY_ID;
}

@Override
public DeliveryOrderResponse createDeliveryOrder(@NonNull final CreateDeliveryOrderRequest request)
{
final Sendung goRequest = createGOPickupRequest(request);
final Object goResponseObj = getWebServiceTemplate().marshalSendAndReceive(objectFactory.createGOWebServiceSendungsErstellung(goRequest));
final JAXBElement<Sendung> goRequestElement = objectFactory.createGOWebServiceSendungsErstellung(goRequest);
System.out.println("GO Request: " + toString(goRequestElement));

final Object goResponseObj = getWebServiceTemplate().marshalSendAndReceive(goRequestElement);
return extractDeliveryOrderResponse(goResponseObj);
}

Expand Down Expand Up @@ -125,7 +132,7 @@ public DeliveryOrderResponse voidPickupOrder(final OrderId orderId)
final Object goResponseObj = getWebServiceTemplate().marshalSendAndReceive(objectFactory.createGOWebServiceSendungsErstellung(goRequest));
return extractDeliveryOrderResponse(goResponseObj);
}

private static final OrderId createOrderId(final String orderIdStr)
{
return OrderId.of(SHIPPER_GATEWAY_ID, orderIdStr);
Expand Down Expand Up @@ -348,4 +355,19 @@ private PackageLabels createPackageLabels(final Label.Sendung goPackageLabels)
.build())
.build();
}

private String toString(final JAXBElement<?> jaxbElement)
{
final Marshaller marshaller = getMarshaller();
try
{
final StringResult result = new StringResult();
marshaller.marshal(jaxbElement, result);
return result.toString();
}
catch (Exception ex)
{
throw new RuntimeException("Failed converting " + jaxbElement + " to String", ex);
}
}
}

0 comments on commit b883493

Please sign in to comment.