- [ ] I have searched the [issues](https://github.com/apache/incubator-dubbo/issues) of this repository and believe that this is not a duplicate.
- [ ] I have checked the [FAQ](https://github.com/apache/incubator-dubbo/blob/master/FAQ.md) of this repository and believe that this is not a duplicate.

### Environment

* Dubbo version: 2.6.1 - newest

### Step to reproduce this issue

1.  
String value = null;
RpcContext.getContext().getAttachments().put("demokey", value)
2. 
then invoke one method will NullPointException

**The Exception reason:
In RpcContextFilter.java，public void filter(ClientRequestContext requestContext) throws IOException
for (Map.Entry<String, String> entry : RpcContext.getContext().getAttachments().entrySet()) {
            if (entry.getValue().contains(",") || entry.getValue().contains("=")

the entry.getValue not judge null!!**


public class RpcContextFilter implements ContainerRequestFilter, ClientRequestFilter {
    private static final String DUBBO_ATTACHMENT_HEADER = "Dubbo-Attachments";
    
    private static final int MAX_HEADER_SIZE = 8 * 1024;
    @Override
    public void filter(ContainerRequestContext requestContext) throws IOException {
        HttpServletRequest request = ResteasyProviderFactory.getContextData(HttpServletRequest.class);
        RpcContext.getContext().setRequest(request);
        
        if (request != null && RpcContext.getContext().getRemoteAddress() == null) {
            RpcContext.getContext().setRemoteAddress(request.getRemoteAddr(), request.getRemotePort());
        }
        RpcContext.getContext().setResponse(ResteasyProviderFactory.getContextData(HttpServletResponse.class));
        String headers = requestContext.getHeaderString(DUBBO_ATTACHMENT_HEADER);
        if (headers != null) {
            for (String header : headers.split(",")) {